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() 函数更加灵活和强大。

posted @ 2024-03-31 22:21  赵青青  阅读(191)  评论(0编辑  收藏  举报