在 Python 2 中,str.format()
函数可以使用一些高级的格式化选项,下面是一些常用的高级用法:
1. 格式化数字
可以使用格式化选项来控制数字的显示方式,例如:
# 将数字格式化为带千位分隔符的字符串
n = 1234567
s = "{:,}".format(n)
print(s) # 输出:1,234,567
# 将数字格式化为指定位数的字符串,不足位数用0填充
n = 42
s = "{:0>4}".format(n)
print(s) # 输出:0042
2. 格式化日期和时间
可以使用格式化选项来控制日期和时间的显示方式,例如:
import datetime
# 将日期格式化为指定格式的字符串
d = datetime.date(2022, 1, 1)
s = "{:%Y-%m-%d}".format(d)
print(s) # 输出:2022-01-01
# 将时间格式化为指定格式的字符串
t = datetime.time(12, 34, 56)
s = "{:%H:%M:%S}".format(t)
print(s) # 输出:12:34:56
# 将日期时间格式化为指定格式的字符串
dt = datetime.datetime(2022, 1, 1, 12, 34, 56)
s = "{:%Y-%m-%d %H:%M:%S}".format(dt)
print(s) # 输出:2022-01-01 12:34:56
3. 格式化对象
可以使用格式化选项来控制对象的显示方式,例如:
class Person(object):
def __init__(self, name, age):
self.name = name
self.age = age
# 将对象格式化为指定格式的字符串
p = Person("Alice", 18)
s = "{0.name} is {0.age} years old".format(p)
print(s) # 输出:Alice is 18 years old
4. 格式化字典
可以使用格式化选项来控制字典的显示方式,例如:
# 将字典格式化为指定格式的字符串
d = {"name": "Alice", "age": 18}
s = "My name is {name}, and I am {age} years old".format(**d)
print(s) # 输出:My name is Alice, and I am 18 years old
这些高级用法可以让 str.format()
函数更加灵活和强大。