我刚刚使用pydev for eclipse运行python2.7作为编程入门课程(需要python3.x),所以我使用了带括号的更新的print语句
我遇到的问题是,在最后一个while循环之后,print()语句包含括号。
print('Number of flushes: ', flush)
返回
('Number of flushes: ', 0)奇怪的是,在程序的早期,在while循环结束之前,print()语句完全按照预期工作。怎么一回事?
发布于 2015-10-14 10:24:51
在Python2.x中,print是一个语句,而不是一个函数,所以这里:
print('Number of flushes: ', flush)是有效语法,但括号被解释为元组:
>>> print 3, 4
3 4
>>> print (3, 4)
(3, 4)发布于 2015-10-14 10:26:55
在Python2.x中,print是一条语句,而不是函数。当只有一个参数时,可以用括号将参数括起来,但当有两个或更多参数时,参数将被视为一个元组。解决这个问题的一种方法是在代码的顶部插入语句from __future__ import print_function。这会将print语句转换为一个函数,并在打印两个或更多项时给出预期的行为。但是,您必须将所有的print语句转换为函数形式。
https://stackoverflow.com/questions/33115521
复制相似问题