为什么我在Python 3中打印字符串时收到语法错误?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
为什么我在Python 3中打印字符串时收到语法错误?
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
当前回答
因为在Python 3中,print语句已被print()函数取代,并使用关键字参数替换了旧print语句的大部分特殊语法。所以你要把它写成
print("Hello World")
但是如果你在一个程序中写这个,并且有人使用python2。X尝试运行它,他们会得到一个错误。为了避免这种情况,导入print函数是一个很好的做法:
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有什么新特性?
其他回答
在Python 3中,print变成了一个函数。这意味着你现在需要包括括号,如下所示:
print("Hello World")
看起来您使用的是Python 3.0,其中print变成了可调用函数而不是语句。
print('Hello world!')
因为在Python 3中,print语句已被print()函数取代,并使用关键字参数替换了旧print语句的大部分特殊语法。所以你要把它写成
print("Hello World")
但是如果你在一个程序中写这个,并且有人使用python2。X尝试运行它,他们会得到一个错误。为了避免这种情况,导入print函数是一个很好的做法:
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有什么新特性?