爲什麼在Python 3中打印字符串時收到語法錯誤?使用Python 3打印語法錯誤
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
爲什麼在Python 3中打印字符串時收到語法錯誤?使用Python 3打印語法錯誤
>>> print "hello World"
File "<stdin>", line 1
print "hello World"
^
SyntaxError: invalid syntax
在Python 3中,print
became a function。這意味着,你現在需要包括括號類似下面:
print("Hello World")
它看起來像你使用Python 3.0,其中,而不是一份聲明中print has turned into a callable function。
print('Hello world!')
在Python 3.0,print
是一個普通的功能,需要():
print("Hello world")
它看起來像你使用Python 3,在Python 3,打印已改爲一個方法,而不是的聲明。試試這個:
print("hello World")
在Python 3,這是print("something")
,不print "something"
。
因爲在Python 3中,print statement
已被替換爲print() function
,其中用關鍵字參數替換了大部分舊的print語句的特殊語法。所以,你必須把它寫成
print("Hello World")
但是,如果你寫這個程序中,有一種用Python 2.x的嘗試運行,他們會得到一個錯誤。爲了避免這種情況,這是一個很好的做法,導入打印功能
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 2.X print
是keyword,而在Python 3.X print
成爲一個功能,所以做正確的做法是print(something)
。
你可以通過執行獲得的關鍵字列表每個版本如下:
>>> import keyword
>>> keyword.kwlist
你必須使用支架與打印print("Hello World")
2to3的是一個Python程序,讀取的Python 2.x的源代碼和應用一系列固定器將它轉變成有效的Python 3.x的代碼
進一步的信息可以在這裏找到:
Python Documentation: Automated Python 2 to 3 code translation
在Python 3中,您必須執行print('some code')
。這是因爲在Python 3中它已經成爲一種功能。如果您必須,您可以使用Python 2代碼並使用2to3
將其轉換爲Python 3代碼 - 這是一個內置於Python中的優秀程序。欲瞭解更多信息,請參閱Python 2to3 - Convert your Python 2 to Python 3 automatically!。
提示:對於python 2.7+中的兼容性代碼,將其放入模塊的開頭:`from __future__ import print_function` – 2013-08-12 13:12:46