奇怪的括号

时间:2015-10-14 02:19:54

标签: python python-2.7

我只是使用pydev运行python2.7的eclipse运行编程入门课程(需要python3.x),所以我使用带括号的更新的print语句

我遇到的问题是在最后的while循环之后,print()语句包含括号。

print('Number of flushes: ', flush)

返回

('Number of flushes: ', 0)

奇怪的是,在程序的早期,在while循环结束之前,print()语句完全按预期工作。发生了什么事?

2 个答案:

答案 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语句转换为函数,并在打印两个或更多项时提供预期的行为。但是,您必须将所有打印语句转换为函数形式。