class test:def list(self):list = []return listprint test().list()運(yùn)行結(jié)果:[]但如果這樣:class test:def __init__(self):self.list=[]def list(self):list = []return listprint test().list()就會報(bào)錯(cuò),像這樣:Traceback (most recent call last):File "C:\Users\pqj123\Desktop\test.py", line 7, in <module>print test().list()TypeError: 'list' object is not callable這是什么原因,求指教。
2 回答

智慧大石
TA貢獻(xiàn)1946條經(jīng)驗(yàn) 獲得超3個(gè)贊
error已經(jīng)告訴你了 list對象不能用函數(shù)形式調(diào)用,就是不能callable。
簡單來說就是list變量和list函數(shù)重名了。

斯蒂芬大帝
TA貢獻(xiàn)1827條經(jīng)驗(yàn) 獲得超8個(gè)贊
>>> list('asdf')
Traceback (most recent call last):
File "<pyshell#154>", line 1, in <module>
list('asdf')
TypeError: 'list' object is not callable
你可以先確認(rèn)一下list變量是否被使用:
>>> list #輸入list回車,檢查list的值
[1, 3, 2, 4, 6, 7, 12, 10] #發(fā)現(xiàn)list被占用
>>> del list #刪除變量
>>> list #確認(rèn)一下結(jié)果
<class 'list'> #變量被刪除
>>> list('adfadf') #再次調(diào)用list()函數(shù)
['a', 'd', 'f', 'a', 'd', 'f'] #可以正常使用了。
添加回答
舉報(bào)
0/150
提交
取消