在Python 中,修改內建物件可能會導致意外錯誤。考慮以下程式碼:
def example(parameter): global str str = str(parameter) print(str) example(1) example(2)
執行此程式碼時,您可能會遇到兩種不同的情況。對 example() 的第一次呼叫成功,而第二次呼叫則引發 TypeError。這是因為第二次對 str 的賦值重新定義了它的意義。
在 Python 中,str() 是預先定義函數,將物件轉換為字串。將 str 指派給新值會覆寫此內建功能。透過將 str 宣告為全域,您表明它應該引用函數外部的頂級變數。
要解TypeError,你有兩個選擇:
請記住,修改內建物件可能會產生意想不到的後果。堅持在函數中使用局部變量,以防止與 Python 的預設行為發生衝突。
以上是為什麼 `str = str(...)` 在 Python 中會導致型別錯誤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!