【現(xiàn)象】
很多Python初學(xué)者,在安裝了最新版本的Python 3.x版本,比如Python 3.2之后,
去參考別人的代碼(基于Python 2.x寫的教程),去利用print函數(shù),打印輸出內(nèi)容時,結(jié)果卻遇到print函數(shù)的語法錯誤:
SyntaxError: invalid syntax
比如,雖然找個例子的截圖為:
【原因】
這是因為,你正在用的Python版本是Python 3.x,而參考別人的代碼是Python 2.x的代碼,而由于Python 2.x升級到Python 3.x,print函數(shù)的語法變化了,
所以你用Python 2.x的print函數(shù)的代碼,放在Python 3.x中運(yùn)行,結(jié)果就出現(xiàn)了print函數(shù)的“SyntaxError: invalid syntax”了。
即,這也是Python初學(xué)者,第一個最容易遇到的問題:
在安裝了(最新版本的)Python 3.x后,去運(yùn)行(參考了別人的)Python 2.x的print函數(shù)的代碼,結(jié)果就是遇到了print函數(shù)的語法錯誤:SyntaxError: invalid syntax
【Python 2.x和Python 3.x中print函數(shù)語法方面的區(qū)別】
最簡潔的解釋為:
Python 2.x: print函數(shù)(所要打印的內(nèi)容)不帶括號
Python 3.x: print函數(shù)(所要打印的內(nèi)容),必須帶括號
舉例來說明,即為:
1.不帶百分號格式化的
python 2.x:
1 | print "Pyhon 2 can use print string without ()"; |
python 3.x:
1 | print("Python3, print must use () to output string"); |
2. 帶百分號格式化的
Python 2.x:
1 | print "old %s version is %d, print no ()"%("Python", 2); |
Python 3.x:
1 | print("new %s version is %d, print must have ()"%("Python", 3)); |
【總結(jié)】
正因為此問題,是Python初學(xué)者,最常遇到的問題。所以,才單獨拎出來,特別說明一下的。
而關(guān)于Python 2.x和Python 3.x的更多的區(qū)別,不熟悉的,可以參考:






