加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

在Python中打印字符串的最有效方法?

发布时间:2020-12-20 12:26:19 所属栏目:Python 来源:网络整理
导读:因此,根据 http://wiki.python.org/moin/PythonSpeed/PerformanceTips的优化提示,应该使用连接字符串 out =“ html%(head)s%(序言)s%(查询)s%(尾部)s / html” %locals() ??并不是 out =“ html” head prologue query tail“ / html” 我的问题是,如果
因此,根据 http://wiki.python.org/moin/PythonSpeed/PerformanceTips的优化提示,应该使用连接字符串

out =“< html>%(head)s%(序言)s%(查询)s%(尾部)s< / html>” %locals()
??并不是
out =“< html>” head prologue query tail“< / html>”
我的问题是,如果我想打印,这是相同的,而不是存储价值?将连续的打印语句全部放在一行上会更快吗?就像使用它会更好

print "Some word"
print "Another line"
print "something else"

要么

print '''Some word
Another line
something else'''

提前致谢!

解决方法

你的问题并不是关于打印字符串的最有效方法,而是关于将它们格式化为输出,在任何情况下都应该使用格式,因为它不仅仅是简单的连接.但是,这里有一些关于连接的注释.

编辑:重写以包含一些细节

印刷无关紧要.重要的是,由于某些语言处理字符串连接的方式,连接大量字符串可能是二次序. (非常幼稚和基本的)推理是连接两个字符串,你必须走下第一个字符串的所有字符,然后追加第二个字符串的所有字符.因此,如果你连接十个字符串,你首先走第一个并追加第二个,然后你走第一个第二个并附加第三个,然后你走第一个第二个第三个并追加第四个,依此类推.

因此,连接的简单实现将使您做出比您需要的更多的工作.实际上,在Python的早期版本中,这是一个问题.但是,@ gibbler在评论中已经指出,后来的版本现在通常会对此进行优化,从而完全扼杀了这一点.

连接字符串的Python习语是“”.join(…).这完全绕过了任何可能的问题,无论如何都是标准的习惯用语.如果你想通过追加来构造一个字符串,看一下StringIO:

>>> from io import StringIO
>>> foo = StringIO()
>>> for letter in map(chr,range(128)):
...     foo.write(letter)
...
>>> foo.seek(0)
0
>>> foo.read()
'x00x01x02x03x04x05x06x07x08tnx0bx0crx0ex0fx10x11x12x13x14
x15x16x17x18x19x1ax1bx1cx1dx1ex1f !"#$%&'()*+,-./0123456789:;<=>?@ABC
DEFGHIJKLMNOPQRSTUVWXYZ[]^_`abcdefghijklmnopqrstuvwxyz{|}~x7f'

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读