分类目录:《系统学习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.

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

  1. 系统学习Python——模块和包:模块基础知识

    分类目录:<系统学习Python>总目录 模块是最高级别的程序组织单元,它将程序代码和数据封装起来以便再利用,同时提供自包含的命名空间从而避免程序出现变量名冲突.从实际的角度来看,模块往往 ...

  2. 系统学习Python——字符串(str):字符串前的字母‘u’、‘r’、‘b’、‘f’的作用

    分类目录:<系统学习Python>总目录 字符串前加'u' 后面字符串以Unicode格式进行编码,一般用在中文字符串前面,防止因为源码储存格式问题,导致再次使用时出现乱码. s = u' ...

  3. 系统学习Python——2D绘图库Matplotlib:绘图函数matplotlib.pyplot.plot(plt.plot)

    分类目录:<系统学习Python>总目录 matplotlib.pyplot是Matplotlib的基于状态的接口.它提供了一种隐式的.类似MATLAB的绘图方式.它还会在您的屏幕上打开图 ...

  4. 系统学习Python——下划线的作用与意义:单下划线与双下划线

    分类目录:<系统学习Python>总目录 单下划线_ 变量 在Python中,变量可以包含数字.字母.下划线等,所以单独一个下划线_也是一个变量,表示一个临时对象,一般后续不会用到,比如: ...

  5. 系统学习Python——进度条模块tqdm

    分类目录:<系统学习Python>总目录 tqdm在阿拉伯语中是"进步"的意思(塔卡杜姆,تقدّم)并且是西班牙语中"我非常爱你"的缩写.在Pyt ...

  6. 系统学习Python——单元测试unittest:测试报告

    分类目录:<系统学习Python>总目录 相关文章: · 单元测试unittest:框架结构 · 单元测试unittest:测试固件 · 单元测试unittest:编写测试用例 · 单元测 ...

  7. 初学者应该如何有效率的系统学习Python开发

    首先告诉你的是,零基础学习开始系统学习Python肯定难,Python的专业程度本身就不简单,学习这事本来就是一件非常煎熬的事情,人都不愿意学习,可是没办法,为了生存掌握一个技能,你必须学,如果你认真 ...

  8. 零基础如何系统学习Python?Python入门必看

    零基础如何系统学习python,绝大多数零基础转行者学习编程的目的就是想找一份高薪有发展前景的工作,哪个编程语言就业前景好越值得学习.零基础的同学学Python是一个不错的选择. 零基础学习pytho ...

  9. 系统学习Python——单元测试unittest:编写测试用例

    分类目录:<系统学习Python>总目录 相关文章: · 单元测试unittest:框架结构 · 单元测试unittest:测试固件 · 单元测试unittest:编写测试用例 · 单元测 ...

最新文章

  1. Java library util_sdejavautil.dll,下载,简介,描述,修复,等相关问题一站搞定_DLL之家
  2. c语言实现点在多边形内部,C语言中实现 点在多边形内 算法
  3. Storyboard中segue使用总结
  4. php CI 实战教程:如何去掉index.php目录
  5. 喜笑等动作收集起来的扎金花GAME
  6. 《Spring Boot官方指南》28.安全
  7. 《C语言及程序设计》实践参考——转着圈加密
  8. ubuntu下vlc-android编译
  9. Hyper-V提供创建三种类型的虚拟网络
  10. Ubuntu18.04版本安装ssh及连接ssh的常见问题
  11. 微博黄V怎么认证:如何快速获得微博认证?
  12. r语言 rgl 强制过程中_R语言中%||%是什么意思?
  13. mysql cnf和ini区别_再谈mysql的配置文件my.ini or my.cnf (之一) .
  14. 组合最优化——凸集凸函数
  15. java中,判断当前时间是否处于某个一个时间段内
  16. java xtend_简化Java语法 Eclipse推出Xtend
  17. iOS开发微信支付的介绍与实现
  18. Bypass disable_function【CTFHUB】
  19. C# 以GET或Post方式请求Web地址
  20. 2023年天津市逆向re2.exe解析-比较难(超详细)

热门文章

  1. PyCharm:选择性忽略 PEP8 警告
  2. windows开机密码问题
  3. 大白话5分钟带你走进人工智能-神经网络之tensorflow的前世今生和DAG原理图解
  4. python四级成绩_python 批量爬取四级成绩单
  5. WRF进阶:WRF中Noah-MP地面方案中雪反照率的计算
  6. Oracle 9i amp; 10g编程艺术-深入数据库体系结构——第12章:数据类型
  7. opencv安装配置测试
  8. 兄弟服务器系统打印机驱动,兄弟(Brother)HL-5450DN打印机驱动
  9. windows平台Markdown怎么转换成Word
  10. word文档怎么左右一分为二_怎么把word文档分成左右两部分