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