当我尝试在Python中使用print语句时,它会给我这样的错误:

>>> print "Hello, World!"
  File "<stdin>", line 1
    print "Hello, World!"
                        ^
SyntaxError: Missing parentheses in call to 'print'

这是什么意思?


当前回答

Python 2到Python 3的语法有变化。 在Python 2中,

print "Hello, World!" 

将工作,但在python3,使用括号作为

print("Hello, World!")

这是与Scala相当的语法,接近Java。

其他回答

除了这里的直接答案之外,还应该注意python 2和python 3之间的另一个关键区别。官方的python wiki介绍了几乎所有的主要区别,并重点介绍了何时应该使用这两个版本中的任何一个。这篇博客文章也很好地解释了当前的python世界,以及移动到python 3的某种程度上尚未解决的难题。

据我所知,你已经开始学习python语言了。在继续使用python 3之前,您应该考虑前面提到的文章。你不仅需要改变一些语法,你还需要考虑哪些包是可用的(python 2的优点),以及在你的代码中可以进行的潜在优化(python 3的优点)。

如果你的代码在python2和python3中都可以工作,你可以通过在程序开始时加载这个来实现:

from __future__ import print_function   # If code has to work in Python 2 and 3!

然后你可以用python3的方式打印:

print("python")

如果你想打印一些东西而不创建一个新的行-你可以这样做:

for number in range(0, 10):
    print(number, end=', ')

不幸的是,旧的xkcd漫画已经不完全是最新的了。

从Python 3.0开始,你必须写:

print("Hello, World!")

还得有人写反重力库:(

Python 2到Python 3的语法有变化。 在Python 2中,

print "Hello, World!" 

将工作,但在python3,使用括号作为

print("Hello, World!")

这是与Scala相当的语法,接近Java。

我还可以补充说,我知道关于Python2.7和Python3之间语法变化的一切,并且我的代码被正确地写成print("string")和even 打印(f“字符串”)……

但经过一段时间的调试后,我意识到我的bash脚本调用python如下:

python file_name.py

它的效果是在默认情况下使用python2.7调用我的python脚本,而python2.7给出了错误。所以我把bash脚本改为:

python3 file_name.py

哪个粗程序使用python3运行修复错误的脚本。