在Python中打印字符串的最有效方法?
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了在Python中打印字符串的最有效方法?,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1661字,纯文字阅读大概需要3分钟。
内容图文
因此,根据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()
'\x00\x01\x02\x03\x04\x05\x06\x07\x08\t\n\x0b\x0c\r\x0e\x0f\x10\x11\x12\x13\x14x15\x16\x17\x18\x19\x1a\x1b\x1c\x1d\x1e\x1f !"#$%&\'()*+,-./0123456789:;<=>?@ABC
DEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~\x7f'
内容总结
以上是互联网集市为您收集整理的在Python中打印字符串的最有效方法?全部内容,希望文章能够帮你解决在Python中打印字符串的最有效方法?所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。