python str.format高級用法

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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章