我只是使用pydev运行python2.7的eclipse运行编程入门课程(需要python3.x),所以我使用带括号的更新的print语句
我遇到的问题是在最后的while循环之后,print()语句包含括号。
print('Number of flushes: ', flush)
返回
('Number of flushes: ', 0)
奇怪的是,在程序的早期,在while循环结束之前,print()语句完全按预期工作。发生了什么事?
答案 0 :(得分:4)
在Python 2.x中,print
是一个语句,而不是一个函数,所以这里:
print('Number of flushes: ', flush)
是有效的语法,但括号被解释为元组:
>>> print 3, 4
3 4
>>> print (3, 4)
(3, 4)
答案 1 :(得分:1)
在Python 2.X中,print是一个语句,而不是s函数。当只有一个参数时,在括号周围加上括号是正常的,但是当有两个或多个参数被视为元组时。解决此问题的一种方法是在代码顶部插入语句from __future__ import print_function
。这会将print语句转换为函数,并在打印两个或更多项时提供预期的行为。但是,您必须将所有打印语句转换为函数形式。