print(f'.....')
注意:f后面一定要紧跟字符串,不能隔有空格,否则会报错
print语句中加入f就可以起到和format函数类似的作用。
a = 1
b = 2
c = 3
print(f'a={a}, b={b}, c={c}')
# 等价于print('a={}, b={}, c={}'.format(a, b, c))
结果:
a=1, b=2, c=3
可以看出printf的语法特别清楚,他比较器format的用法更加清晰,因为format还需要前后将括号对号入座,而printf中的括号可以直观地直接看的里面的值是什么。
{:.nf}
控制小数点位数import numpy as np
a = np.sqrt(2)
b = np.sqrt(3)
c = np.sqrt(5)
print(f'a={a:.1f}, b={b:.2f}, c={c:.3f}')
# 等效于print('a={:.1f}, b={:.2f}, c={:.3f}'.format(a, b, c))
结果
a=1.4, b=1.73, c=2.236
# 分别保留1位,两位,三位小数
{:.nf}
,n代表着保留几位小数,上面的例子一目了然
这里可以看到,printf比format的优势更明显了,括号里一目了然
参考python官方文档:
https://docs.python.org/3.6/whatsnew/3.6.html#pep-498-formatted-string-literals
**这种字符常量表示方式是在python3.6之后引入的。**更低的版本会报错
PEP 498(即Python Enhancement Proposals, Python增强提案或Python改进建议书),引入了一种新的字符串字面量:f-字符串,或格式化字符串字面量。格式化字符串字面值以’f’作为前缀,类似于str.format()所接受的格式字符串。它们包含用花括号括起来的替换字段。
更详细的介绍可以参考PEP 498的页面:https://www.python.org/dev/peps/pep-0498/