在Python中打印字符串的最有效方法?
因此,根据
http://wiki.python.org/moin/PythonSpeed/PerformanceTips的优化提示,应该使用连接字符串
out =“< html>%(head)s%(序言)s%(查询)s%(尾部)s< / html>” %locals() 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' (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |