1. 程式人生 > >關於Python 3.x中,使用print函式時出現的語法錯誤(SyntaxError: invalid syntax)的問題的原因

關於Python 3.x中,使用print函式時出現的語法錯誤(SyntaxError: invalid syntax)的問題的原因

【現象】

很多Python初學者,在安裝了最新版本的Python 3.x版本,比如Python 3.2之後,

去參考別人的程式碼(基於Python 2.x寫的教程),去利用print函式,列印輸出內容時,結果卻遇到print函式的語法錯誤:

SyntaxError: invalid syntax

比如,雖然找個例子的截圖為:

python 3.x syntaxerror invalid syntax

【原因】

這是因為,你正在用的Python版本是Python 3.x,而參考別人的程式碼是Python 2.x的程式碼,而由於Python 2.x升級到Python 3.x,print函式的語法變化了,

所以你用Python 2.x的print函式的程式碼,放在Python 3.x中執行,結果就出現了print函式的“SyntaxError: invalid syntax”了。

即,這也是Python初學者,第一個最容易遇到的問題:

在安裝了(最新版本的)Python 3.x後,去執行(參考了別人的)Python 2.x的print函式的程式碼,結果就是遇到了print函式的語法錯誤:SyntaxError: invalid syntax

【Python 2.x和Python 3.x中print函式語法方面的區別】

最簡潔的解釋為:

Python 2.x: print函式(所要列印的內容)不帶括號

Python 3.x: print函式(所要列印的內容),必須帶括號

舉例來說明,即為:

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));

【總結】

正因為此問題,是Python初學者,最常遇到的問題。所以,才單獨拎出來,特別說明一下的。

而關於Python 2.x和Python 3.x的更多的區別,不熟悉的,可以參考: