Python中的字符串格式化方法

三种方法 说明Python三种格式化方法的文章已经很多了,下面列举比较详细的几篇:

  • 程序员客栈:Python的3种字符串格式化,做个超全对比!
  • 腾讯云:Python字符串三种格式化输出
  • CSDN:python字符串格式化深入详解(四种方法)
【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代码,为了保持风格一致,才适合选择原始的%格式化风格

    推荐阅读