如果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的函數名、關鍵字沖突。