3 回答
TA贡献1829条经验 获得超9个赞
你确定你使用的是Python 3.x吗?Python 2.x中没有该语法,因为print
它仍然是一个语句。
print("foo" % bar, end=" ")
在Python 2.x中是相同的
print ("foo" % bar, end=" ")
要么
print "foo" % bar, end=" "
即作为以元组作为参数打印的调用。
这显然是错误的语法(文字不接受关键字参数)。在Python 3.x print
是一个实际的函数,所以它也需要关键字参数。
Python 2.x中的正确习惯end=" "
是:
print "foo" % bar,
(注意最后的逗号,这使得它以空格而不是换行符结束)
如果您想要更多地控制输出,请考虑sys.stdout
直接使用。这不会对输出做任何特殊的魔术。
当然在最新版本的Python 2.x(2.5应该有它,不确定2.4)中,您可以使用该__future__
模块在脚本文件中启用它:
from __future__ import print_function
同样适用于unicode_literals
其他一些好东西(with_statement
例如)。但是,这在Python 2.x的旧版本(即在引入该功能之前创建)中不起作用。
TA贡献1784条经验 获得超2个赞
这个怎么样:
#Only for use in Python 2.6.0a2 and laterfrom __future__ import print_function
这允许您使用Python 3.0样式print
函数,而无需手动编辑所有出现的print
:)
TA贡献1868条经验 获得超4个赞
在python 2.7中,你就是这样做的
mantra = 'Always look on the bright side of life'
for c in mantra: print c,
#output
A l w a y s l o o k o n t h e b r i g h t s i d e o f l i f e
在python 3.x中
myjob= 'hacker'
for c in myjob: print (c, end=' ')
#output
h a c k e r
添加回答
举报