三种方法
说明Python三种格式化方法的文章已经很多了,下面列举比较详细的几篇:
以上倒不是“茴字的八种写法”,作为python程序员的常用工具,有必要在合适中的场景下,做出最有效率的选择。这里简短总结如下:
简洁对比
%格式化 | format函数 | f-string | |
---|---|---|---|
顺序 | 参数必须严格按给定顺序 | 可以指定数字编号顺序, 或按参数名指定顺序 | 直接字符串编码参数名, 无需顺序对应 |
特征 | 最接近c语言printf风格 | 比%更灵活,可读性更好 | 可读性最佳, 也最灵活 |
版本 | 全版本兼容 | 2.6出现,2.7完善 | 3.6 |
% 格式化
a = '小明同学'
b = '你出去'
print('%s,%s!' % (a, b))
format函数
a = '小明同学'
b = '你出去'
print('{},{}!'.format(a, b))
f-string
a = '小明同学'
b = '你出去'
print(f'{a},{b}!')
以上三段代码的输出都是:小明同学,你出去!
,是不是明显f-string的可读性最好,代码也最简洁?
选择建议
- 如果项目的python版本大于3.6,那么显然选择f-string
- 如果python版本小于3.6但大于2.6,那么可以选择format函数
- 只有版本低于2.6,或者项目中有大量c代码,为了保持风格一致,才适合选择原始的%格式化风格
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。