使用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代码翻译