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

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

这是什么意思?


当前回答

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

从Python 3.0开始,你必须写:

print("Hello, World!")

还得有人写反重力库:(

其他回答

不幸的是,旧的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运行修复错误的脚本。

基本上,从Python 3开始。X你需要用圆括号打印。

Python 2。x:打印“指环王”

Python 3。x: print(“指环王”)


解释

打印是2中的一个陈述。X,但它是3。X中的函数。这有很多很好的理由。

用Python 3的函数格式。X,当用逗号分隔打印多个项目时,会有更大的灵活性。 你不能在语句中使用参数飞溅。在3。如果你有一个想要用分隔符打印的项列表,你可以这样做:

>>> items = ['foo', 'bar', 'baz']
>>> print(*items, sep='+')
foo+bar+baz

你不能重写语句。如果你想改变打印的行为,你可以在它是一个函数时这样做,但不能在它是一个语句时这样做。

打印“text”不是在python中打印文本的方式,因为这行不通 Print ("text")将在命令行中将该文本打印到屏幕上