Python中的字符串模运算符与format函数

来源:本站
导读:目前正在解读《Python中的字符串模运算符与format函数》的相关信息,《Python中的字符串模运算符与format函数》是由用户自行发布的知识型内容!下面请观看由(电工技术网 - www.9ddd.net)用户发布《Python中的字符串模运算符与format函数》的详细说明。
简介:今天学习Python中的字符串模运算符与format函数,很不错的知识,来学习吧。

如果你在网上搜索Python中如何进行字符串插值(string interpolation),那么你很可能会发现一些留言和旧文档中说字符串模运算符(%)以后会被废弃,并移除出标准库。但是这完全是杞人忧天。至于为什么字符串模运算符不会被废弃,大家看下面的代码运行结果就会知道了。

from timeit import timeit# 使用字符串模运算符进行字符串插值操作 

def test_modulo():

'Don't %s, I'm the %s.' % ('worry', 'Doctor')# 使用字符串的format函数**显示地**进行字符串插值操作 def test_format_explicit(): 'Don't {0}, I'm the {1}.'.format('worry', 'Doctor')# 使用字符串的format函数**非显示地**进行字符串插值操作 def test_format_implicit(): 'Don't {}, I'm the {}.'.format('worry', 'Doctor')timeit(stmt=test_modulo, number=1000000)timeit(stmt=test_format_explicit, number=1000000)timeit(stmt=test_format_implicit, number=1000000)

通过Python 2.7.5版本执行上面的代码,我们可以得到下面的结果:

Python 2.7.5 (default, May 15 2013, 22:43:36) [MSC v.1500 32 bit (Intel)] on win32Type "help", "copyright", "credits" or "license" for more information.>>> from string_interpolation import *>>> timeit(stmt=test_modulo, number=1000000)0.22551053128719545>>> timeit(stmt=test_format_explicit, number=1000000)0.44482803557693984>>> timeit(stmt=test_format_implicit, number=1000000)0.4307239080015748>>>

请注意,test_format_explicit是检索时最常见的Python字符串插值的操作方式。但是,从上面的运行时间来看,使用字符串莫运算符的性能是最高的,是使用format函数的两倍。

这样来看的话,在format函数的运行速度达到模运算符的水平之前,莫运算符并不会被废弃。当然,我也支持format函数的存在,在某些场合下它的确是更加优秀的选择。

正如PEP 461中所提到的的,字符串的莫运算符并不会就这样悄无声息地从Python中消失。

提醒:《Python中的字符串模运算符与format函数》最后刷新时间 2024-03-14 00:57:32,本站为公益型个人网站,仅供个人学习和记录信息,不进行任何商业性质的盈利。如果内容、图片资源失效或内容涉及侵权,请反馈至,我们会及时处理。本站只保证内容的可读性,无法保证真实性,《Python中的字符串模运算符与format函数》该内容的真实性请自行鉴别。