为什么在Python 3中打印字符串时会收到语法错误?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
答案 0 :(得分:328)
在Python 3中,print
became a function。这意味着您需要包括现在如下所述的括号:
print("Hello World")
答案 1 :(得分:48)
看起来你正在使用Python 3.0,其中print has turned into a callable function而不是声明。
print('Hello world!')
答案 2 :(得分:28)
因为在Python 3中,print statement
已替换为print() function
,使用关键字参数替换旧print语句的大部分特殊语法。所以你必须把它写成
print("Hello World")
但是如果你在一个程序中写这个并且某个使用Python 2.x试图运行它们,它们将会出错。为避免这种情况,最好导入打印功能
from __future__ import print_function
现在您的代码适用于2.x和&amp; 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)!