赞
踩
Python 的 print
函数支持格式化输出。格式化字符串中可以包含占位符,用于替换不同类型的数据。一般情况下,占位符用 %
符号表示。
常用的占位符有:
%s
:字符串%d
:整数%f
:浮点数例如:
name = "Tom"
age = 18
height = 1.75
print("我的名字是:%s,我的年龄是:%d,我的身高是:%.2f米" % (name, age, height))
输出:
我的名字是:Tom,我的年龄是:18,我的身高是:1.75米
除了使用 %
符号进行格式化输出,Python 3.6 以后的版本还支持使用 f-strings 进行格式化输出。f-strings 是以字母 f
开头的字符串,其中可以包含用花括号 {}
包裹的表达式。例如:
name = "Tom"
age = 18
height = 1.75
print(f"我的名字是:{name},我的年龄是:{age},我的身高是:{height:.2f}米")
输出:
我的名字是:Tom,我的年龄是:18,我的身高是:1.75米
在 f-strings 中,可以在花括号中使用表达式,也可以在表达式后面使用格式化字符串语法。上面的例子中, {height:.2f}
的意思是保留 height
的小数点后两位。
除了常用的 %s
、%d
、%f
占位符外,Python 常用的格式化占位符还有以下几种:
%r
:表示将输出字符串的“原始数据”,即原始字符串;%c
:表示输出单字符;%o
:表示输出八进制数;%x
、%X
:表示输出十六进制数,其中 %x
输出小写字母,%X
输出大写字母;%e
、%E
:表示输出科学计数法格式的浮点数,其中 %e
输出小写字母 e
,%E
输出大写字母 E
。例如:
print("字符串:%r,单字符:%c,八进制:%o,十六进制:%x,科学计数法:%e" % ("Hello", ord('A'), 123, 255, 0.1))
输出:
字符串:'Hello',单字符:A,八进制:173,十六进制:ff,科学计数法:1.000000e-01
格式化字符串还可以通过参数名来进行占位符的替换,例如:
print("My name is {name} and I'm {age} years old".format(name="Tom", age=18))
输出:
My name is Tom and I'm 18 years old
相比较其他两种方式,formatted string literals 方便易用且可读性更高。
除了常规的格式化方式,Python 还支持一些高级用法,例如在格式化输出时使用元组或字典来传递参数。
如果要传递的参数很多,可以使用元组将它们封装起来传递给 print
函数。例如:
student = ("Tom", 18, "Male")
print("学生姓名:%s,年龄:%d,性别:%s" % student)
输出:
学生姓名:Tom,年龄:18,性别:Male
也可以使用字典的方式来传递参数,例如:
student = {"name": "Tom", "age": 18, "gender": "Male"}
print("学生姓名:{name},年龄:{age},性别:{gender}".format(**student))
输出:
学生姓名:Tom,年龄:18,性别:Male
这里使用了两个星号 **
,表示将字典 student
中的键和值传递给了 format
方法。
另外,在格式化字符串中,还可以使用字段宽度、精度、对齐等选项来对输出进行格式控制。例如:
name = "Tom"
age = 18
print(f"我的名字是:{name:<10},我的年龄是:{age:>5},我的身高是:{1.75:.2f}")
输出:
我的名字是:Tom ,我的年龄是: 18,我的身高是:1.75
其中 <10
表示左对齐并且占位符宽度为 10 个字符,>5
表示右对齐并且占位符宽度为 5 个字符,.2f
表示保留两位小数的浮点数输出。还可以使用 ^
符号来居中对齐,例如 ^{width}
,其中 width
是占位符的宽度。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。