為什麼 Python 2.x 在使用 'end' 關鍵字參數時拋出「語法錯誤:呼叫 'print' 時缺少括號」?

Mary-Kate Olsen
發布: 2024-11-10 00:23:02
原創
495 人瀏覽過

Why Does Python 2.x Throw a

使用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中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板