使用Print 和End 關鍵字參數處理語法錯誤
嘗試執行以下程式碼時:
if Verbose: print("Building internal Index for %d tile(s) ...", end=' ')
an發生錯誤:「語法錯誤:呼叫'列印'時缺少括號」。這是因為 Python 2.x 不支援關鍵字參數 end。
理解差異
在 Python 2.x 中,將函數印為語句。因此,上面的程式碼被解釋為對 print 的元組包裝調用,最後一個參數是字串文字。但是,字串文字不支援關鍵字參數,從而導致錯誤。
Python 2.x 的解
在Python 2.x 中,採用下列其中一項以空格結束行的方法:
在print 語句中加入最後一個逗號:
print "Building internal Index for %d tile(s) ...",
使用sys.stdout直接模組以更好地控制輸出:
import sys sys.stdout.write("Building internal Index for %d tile(s) ... ")
在Python 2.x 中啟用End 關鍵字參數
在Python 2 的最新版本中.x(2.5 及更高版本)中,__future__模組允許透過匯入print_function 將print 函數作為函數啟動。但是,此方法可能與較舊的 Python 2.x 版本不相容。
過渡到 Python 3.x
在 Python 3.x 中, print 的行為類似於函數,允許使用關鍵字參數,例如 end。因此,原始程式碼無需任何修改即可在 Python 3.x 中正確執行。
以上是為什麼 Python 2.x 在使用 'end' 關鍵字參數時拋出「語法錯誤:呼叫 'print' 時缺少括號」?的詳細內容。更多資訊請關注PHP中文網其他相關文章!