Python中的format函数用于格式化字符串。它可以将变量、表达式或指定的值插入到字符串中的占位符位置。
具体来说,format函数可以完成以下几个功能:
- 字符串插值:通过将变量或表达式放置在大括号{}中,在字符串中插入相应的值。
- 格式化数字:可以将数字格式化为特定的样式,如浮点数的小数位数、千位分隔符等。
- 对齐文本:可以将字符串靠左、靠右或居中对齐。
- 格式化日期和时间:可以将日期和时间格式化为特定的样式。
- 格式化对象:可以通过自定义类的format方法,定义对象的格式化方式。
例如,以下是一些使用format函数的示例:
# 字符串插值
name = "Alice"
age = 25
print("My name is {} and I'm {} years old.".format(name, age))
# 格式化数字
num = 12345.6789
print("The formatted number is: {:.2f}".format(num))
# 对齐文本
text = "Hello"
print("{:<10}".format(text)) # 左对齐
print("{:>10}".format(text)) # 右对齐
print("{:^10}".format(text)) # 居中对齐
# 格式化日期和时间
import datetime
now = datetime.datetime.now()
print("Today is: {:%Y-%m-%d}".format(now))
# 格式化对象
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
def __format__(self, format_spec):
if format_spec == "summary":
return "{} is {} years old.".format(self.name, self.age)
else:
return str(self)
def __str__(self):
return self.name
person = Person("Bob", 30)
print("Person: {:summary}".format(person))
输出结果:
My name is Alice and I'm 25 years old.
The formatted number is: 12345.68
Hello
Hello
Hello
Today is: 2022-01-01
Person: Bob is 30 years old.
总之,format函数是一个非常灵活和强大的字符串格式化工具,在Python中广泛应用于字符串处理、日志记录、文本报告等场景。