您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

Python的字符串格式化的许多方式-较旧的(即将被淘汰)吗?

Python的字符串格式化的许多方式-较旧的(即将被淘汰)吗?

.format()方法旨在替代旧的%格式语法。后者已经不再强调,(但没有正式弃用尚未)。方法文档指出:

字符串格式化的这种方法是在Python 3的新标准,并应首选的%格式化中所描述的字符串的格式化操作在新的代码

(强调我的)。

为了保持向后兼容性,并让你更容易过渡,旧格式已经被留在原地现在。根据最初的PEP 3101提案:

向后兼容 可以通过保留现有机制来保持向后兼容性。新系统不会与现有字符串格式化技术的任何方法名称发生冲突,因此这两个系统可以共存,直到需要弃用旧系统为止。

请注意,直到该淘汰旧系统为止;尚未弃用,但是只要你编写新代码,都将使用新系统。

新系统的一个优点是你可以结合使用旧%格式化程序的元组和字典方法

"{greeting}, {0}".format(world, greeting='Hello')

并且可以通过object.()用于处理各个值格式的钩子进行扩展。

请注意,旧系统具有%和Template类,后者允许你创建添加或更改其行为的子类。新型系统具有填充相同细分市场的Formatter类别。

Python 3进一步放弃了弃用,而是在printf-style String Formatting部分中向你发出警告:

注意:此处描述的格式化操作表现出各种古怪,导致许多常见错误(例如,无法正确显示元组和字典)。使用较新的格式化字符串文字或str.format()接口有助于避免这些错误。这些替代方法还提供了更强大,灵活和可扩展的文本格式设置方法

Python 3.6还添加了格式化的字符串文字,将表达式内联到格式字符串中。这些是使用内插值创建字符串的最快方法,因此应在str.format()任何可以使用文字的位置使用它,而不应使用它们。

python 2022/1/1 18:20:47 有517人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶