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}
表示精确到小数点后两位。