在first CodeReview Q之后 - 我得到了回答:
您的代码似乎适用于Python 2.x.为了准备将来可能迁移到Python 3.x,我建议开始将print ...语句写为print(...)
因此,在我的下面的代码中(我在我的盒子上使用Python 2.6和2.7)我()
总是print
:
print('Hello')
今天我第一次用PyLint测试我的代码,它说:
C:43,0:'print'关键字后出现不必要的parens(多余的parens)
其中解释了here。
那么 - print(str)
是不是真的不对,或者我可以忽略这个PyLint消息?
答案 0 :(得分:39)
要使pylint意识到你想要使用新的print语句而不是放错误的括号,只需使用
from __future__ import print_function
在脚本的开头。这样做的另一个好处是,始终需要使用print(...)
而不是print ...
。因此,如果您回退到旧语法,您的程序将抛出SyntaxError
。
请注意,这在python 2.5或更早版本中不起作用。但是因为你使用2.6和2.7,所以应该没有问题。
答案 1 :(得分:4)
在Python 3中,print是一个函数,它需要()。 在Python 2中它不是,所以父母是不必要的。
如果您将来将代码迁移到Python 3,那么保持放置()的习惯是件好事。
https://docs.python.org/3.0/whatsnew/3.0.html#print-is-a-function https://www.python.org/dev/peps/pep-3105/
你可能正在使用Python2 pylint,这就是它抛出这个警告的原因,没什么可担心的。