Python字符串格式化方法:Str.format()详解(Python Str.format() 方法详解:字符串格式化的高效技巧)
原创
一、引言
在Python中,字符串格式化是一项常用的操作,它允许我们以指定的格式将变量或值嵌入到字符串中。Python提供了多种字符串格式化的方法,其中 str.format()
是最灵活且功能强盛的一种。本文将详细介绍 str.format()
方法的使用,帮助读者掌握这一高效技巧。
二、基本用法
str.format()
方法的基本用法如下:
"{[格式化字符串]}".format([参数1], [参数2], ...)
其中,格式化字符串中包含一个或多个占位符,用于指定参数的插入位置和格式。占位符可以是位置参数、关键字参数或对象属性。
三、占位符
str.format()
方法赞成以下几种占位符:
{}
:位置参数占位符,按顺序传入参数。{{}}
:用于转义大括号,输出字面意义上的大括号。{参数名}
:关键字参数占位符,按参数名传入。{属性名}
:对象属性占位符,传入对象时使用。
四、格式化选项
在占位符中,我们可以添加一些格式化选项来控制参数的显示格式。格式化选项包括以下几部分:
填充
:在参数前或后填充字符。对齐
:左对齐(<
)、右对齐(>
)、居中对齐(=
)。宽度
:参数显示的宽度。,
:千位分隔符。:
分隔符,用于分隔格式化选项和转换类型。转换类型
:包括s
、r
、a
等,用于指定参数的转换类型。
五、示例
以下是一些使用 str.format()
方法的示例:
# 基本用法
name = "张三"
age = 30
print("我的名字是{},今年{}岁。".format(name, age))
# 使用位置参数
print("我的名字是{0},今年{1}岁。".format(name, age))
# 使用关键字参数
print("我的名字是{name},今年{age}岁。".format(name="张三", age=30))
# 使用对象属性
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
p = Person("张三", 30)
print("我的名字是{0.name},今年{0.age}岁。".format(p))
# 使用填充、对齐和宽度
print("姓名:{:<10},年龄:{:>5}".format("张三", 30))
# 使用千位分隔符
num = 123456789
print("数字:{:,}".format(num))
# 使用转换类型
print("字符串:{!s},整数:{!r}".format("Hello", 123))
六、进阶用法
str.format()
方法还赞成一些高级用法,如嵌套格式化、格式化复数、格式化日期等。
# 嵌套格式化
print("姓名:{},分数:{:.2f},等级:{}".format("张三", 92.5, "{:.1f}".format(92.5)))
# 格式化复数
c = complex(3, 4)
print("实部:{0.real:.2f},虚部:{0.imag:.2f}".format(c))
# 格式化日期
from datetime import datetime
now = datetime.now()
print("当前时间:{},格式化时间:{}".format(now, "{:%Y-%m-%d %H:%M:%S}".format(now)))
七、总结
str.format()
方法是Python中一种强盛的字符串格式化方法,它提供了丰盈的格式化选项和占位符,可以满足不同场景下的格式化需求。通过掌握 str.format()
方法,我们可以更加高效地进行字符串操作,尽或许缩减损耗代码的可读性和可维护性。