系统学习Python——字符串(str):字符串格式化表达-[基础知识]

分类目录:《系统学习Python》总目录

相关文章:
· 字符串格式化表达:基础知识
· 字符串格式化表达:格式化表达式
· 字符串格式化表达:格式化方法


Python还提供了一种高级的方法来组合字符串处理任务字符串格式化允许在单个步骤中对一个字符串执行多个特定类型的替换。严格地讲,它不是必需的,但是它很方便使用,特别是当格式化文本显示给程序用户的时候。由于Python世界中充满了很多新思想,因此如今的Python中的字符串格式化可以用两种形式实现:

  • 字符串格式化表达式:'...%s... % (values)':这是从Python诞生的时候就有的最初的技术,这一形式是基于C语言的printf模型,并且在大多数现有的代码中广泛地使用。
  • 字符串格式化方法调用:'...{}...'.format(values):这是Python2.6和Python3.0新增加的技术,这一形式部分地起源于C#/.NET中同名的工具,并且和字符串格式化表达式的功能有很大重叠。

由于方法调用形式较新,其中的某些或另外一些可能会随着时间的推移而废弃或移除。当Python3.0在2008年发行的时候,表达式似乎更有可能在以后的Python版本中废弃。确实,3.0的文档中威胁到要在3.1版本中废弃表达式并在这之后移除。从2013年和Python3.3起,这并没有发生,并且考虑到表达式的广泛使用,看起来现在也不太会发生——事实上,在如今Python自己的标准库中,它仍然出现了数千次!自然了,这一故事的发展取决于Python用户的未来实践。另一方面,因为表达式和方法在今天使用都有效,并且两者都可能出现在你偶然遇到的代码中,因此本文涵盖了这两种技巧的全部内容。正如你将看到,两者大体上是一个主旋律的变体,尽管方法有着一些额外的特征(诸如千位分隔符),而表达式常常更加简洁,对于大多数Python程序员而言,表达式更像是他们的习性。为了说明性的目的,文在后面的示例中使用这两种技巧。如果其作者有着偏好,他将大致上保持归类,除了从Python的import this座右铭引用:理应只存在一种唯一的显然的解决方法。

根据这句话最初的和长久以来的意义来看,除非较新的字符串格式化方法压倒性地好于最初的和广为使用的表达式,否则它对Python程序员在这一领域的知识库增倍的要求是毫无根据的,甚至是不够Python的。如果两种复杂的工具大体重叠,程序员就不应该同时学习它们。你得自己做出判断,格式化是否足以增加语言的分量,所以让我们平和地聆听这两者的故事吧。

参考文献:
[1] Mark Lutz. Python学习手册[M]. 机械工业出版社, 2018.

猜你喜欢

转载自blog.csdn.net/hy592070616/article/details/126722948