在 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()
函式更加靈活和強大。