Python字符串格式化的三种形式

python字符串格式化输出有三种方式,每一种都有其优势所在,所以记录下来。

%表示

这一种表达方式和C语言大致相同,常用的占位符有:

占位符 替换内容
%d 整数
% f 浮点数
%s 字符串
%x 十六进制整数
>>> print('%2d-%02d' % (3, 1))
 3-01
>>> print('%.2f' % 3.1415926)
3.14

如果你不太确定应该用什么,%s永远起作用,它会把任何数据类型转换为字符串。

format()形式

这个是我比较常用的一种形式:

>>> 'Hello, {0}, 成绩提升了 {1:.1f}%'.format('小明', 17.125)
'Hello, 小明, 成绩提升了 17.1%'

注意 {1:.1f}表示精确到小数点后一位,我以前以为这种形式是不能表示精确度的,这个看来要着重记忆。

f-string

在字符串之前加上f作为前缀,这样使得字符串中{}内变量以相应的值对应。

>>> r = 2.5
>>> s = 3.14 * r ** 2
>>> print(f'The area of a circle with radius {r} is {s:.2f}')
The area of a circle with radius 2.5 is 19.62

注意{s:.2f}表示精确到小数点后两位。

原文地址:https://www.cnblogs.com/zacharyxue/p/13773270.html