使用Python 3打印语法错误

为什么在Python 3中打印string时收到语法错误?

>>> print "hello World" File "<stdin>", line 1 print "hello World" ^ SyntaxError: invalid syntax 

在Python 3中, print 成为一个函数 。 这意味着你需要像下面提到的那样包括括号:

 print("Hello World") 

看起来你正在使用Python 3.0,其中print已经变成了一个可调用的函数,而不是一个声明。

 print('Hello world!') 

因为在Python 3中, print statement已经被一个print() function取代,它使用关键字参数来replace旧的print语句的大部分特殊语法。 所以你必须把它写成

 print("Hello World") 

但是,如果你在一个程序中编写这个程序,并且某个使用Python 2.x的程序试图运行,它们将会出错。 为了避免这种情况,导入打印function是一个很好的做法

 from __future__ import print_function 

现在你的代码可以在2.x和3.x上运行

查看下面的例子也可以熟悉print()函数。

 Old: print "The answer is", 2*2 New: print("The answer is", 2*2) Old: print x, # Trailing comma suppresses newline New: print(x, end=" ") # Appends a space instead of a newline Old: print # Prints a newline New: print() # You must call the function! Old: print >>sys.stderr, "fatal error" New: print("fatal error", file=sys.stderr) Old: print (x, y) # prints repr((x, y)) New: print((x, y)) # Not the same as print(x, y)! 

来源: Python 3.0中的新增function

在Python 3.0中, print是一个需要()的常规函数​​:

 print("Hello world") 

在Python 3中,它是print("something") ,而不是print "something"

它看起来像你正在使用Python 3.在Python 3中,打印已被改为一个方法,而不是一个语句。 尝试这个:

 print("hello World") 

在Python 3中,你必须print('some code') 。 这是因为在Python 3中它已经成为一个函数。 如果必须的话,可以使用Python 2代码,并使用2to3将其转换为Python 3代码 – 这是Python自带的一个很棒的内置程序。 有关更多信息,请参阅Python 2to3 – 将Python 2自动转换为Python 3!

您必须使用带有打印的支架print("Hello World")

在Python 2.X print是一个关键字,你可以看到这个链接 。 但是,在Python 3.X print成为一个函数,所以正确的方法是print(something) 。 您可以通过执行以下命令获取每个版本的关键字列表:

 >>> import keyword >>> keyword.kwlist 

2to3是一个Python程序,它读取Python 2.x源代码并应用一系列修复程序将其转换为有效的Python 3.x代码

更多信息可以在这里find:

Python文档:自动Python 2到3代码翻译