覆蓋內建函數
為什麼下面的程式碼片段在第二次執行時會出現 TypeError ?
def example(parameter): global str str = str(parameter) print(str) example(1) example(2)
第一次執行時,程式執行沒有問題。但是,第二次呼叫時,會拋出錯誤:
TypeError: 'str' object is not callable
分析
出現此錯誤是因為程式碼重新定義了內建的str 函數範例函數。透過使用 global 關鍵字並向 str 指派新值,程式碼會覆寫字串類型的原始實作。
解決方案
要解決此問題,請避免重新定義內建函數如str.相反,為局部變數使用不同的名稱並刪除全域語句:
def example(parameter): local_string = str(parameter) print(local_string)
以上是為什麼重新定義 `str` 函數會導致 Python 中出現型別錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!