头图

三种方法

说明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的可读性最好,代码也最简洁?

选择建议

  1. 如果项目的python版本大于3.6,那么显然选择f-string
  2. 如果python版本小于3.6但大于2.6,那么可以选择format函数
  3. 只有版本低于2.6,或者项目中有大量c代码,为了保持风格一致,才适合选择原始的%格式化风格

songofhawk
303 声望24 粉丝