小编典典

高级字符串格式与模板字符串

python

我想知道使用模板字符串而不是新的高级字符串格式是否有优势?


阅读 209

收藏
2020-12-20

共1个答案

小编典典

模板要比通常的字符串格式更简单,但会降低表达力。PEP
292
的基本原理将模板与Python的%-style字符串格式进行了比较:

Python当前支持基于C的printf()‘%’格式字符的字符串替换语法。尽管格式非常丰富,但即使对于有经验的Python程序员,%格式的代码也容易出错。一个常见的错误是忽略了尾随的格式字符,例如sin
%(name)s

此外,可跟随%符号的规则相当复杂,而通常的应用程序很少需要这种复杂性。大多数脚本都需要进行一些字符串插值,但是大多数脚本都使用简单的“字符串化”格式,即%s或,%(name)s
此格式应更简单且更不易出错。

尽管新方法.format()改善了这种情况,但格式字符串语法相当复杂仍然是事实,因此基本原理仍然有其要点。

2020-12-20