为什么我在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有什么新特性?