解決:TypeError: 'list' object is not callable


如果list變量和list函數重名,會有什么后果呢?我們可以參考如下代碼:

list = ['泡芙', '湯圓', '魚兒', '駱駝']

tup_1 = (1, 2, 3, 4, 5)
tupToList = list(tup_1)

print(tupToList)

代碼運行后出錯了,出錯原因是TypeError: 'list' object is not callable

Traceback (most recent call last):
  File "D:/python_workshop/python6/lesson3_list.py", line 6, in <module>
    tupToList = list(tup_1)
TypeError: 'list' object is not callable

callable()是python的內置函數,用來檢查對象是否可被調用,可被調用指的是對象能否使用()括號的方法調用

在如上代碼中,由於變量list和函數list重名了,所以函數在使用list函數時,發現list是一個定義好的列表,而列表是不能被調用的,因此拋出一個類型錯誤

 

解決辦法:我們只需修改變量名list就可以了:

list_1 = ['泡芙', '湯圓', '魚兒', '駱駝']

tup_1 = (1, 2, 3, 4, 5)
tupToList = list(tup_1)

print(tupToList)

運行后和結果是正常的:

[1, 2, 3, 4, 5]

因此,在命名變量時要注意,應避免和python的函數名、關鍵字沖突。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM