概述
如果list变量和list函数重名,会有什么后果呢?我们可以参考如下代码:
list = ['a', 'b', 'c', 'd']
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/python3/test.py", line 6, in <module>
tupToList = list(tup_1)
TypeError: 'list' object is not callable
callable()是python的内置函数,用来检查对象是否可被调用,可被调用指的是对象能否使用()括号的方法调用
在如上代码中,由于变量list和函数list重名了,所以函数在使用list函数时,发现list是一个定义好的列表,而列表是不能被调用的,因此抛出一个类型错误
解决办法:我们只需修改变量名list就可以了:
list_1 = ['a', 'b', 'c', 'd']
tup_1 = (1, 2, 3, 4, 5)
tupToList = list(tup_1)
print(tupToList)
运行后和结果是正常的:
[1, 2, 3, 4, 5]
因此,在命名变量时要注意,应避免和python的函数名、关键字冲突。
注意:如果要是 在jupyter nodebook中使用的list,先赋值给list,后面即使改名字,使用的时候依然会报错,需要把变量list
删除,然后继续运行代码
del list
最后
以上就是拉长魔镜为你收集整理的TypeError: 'list' object is not callable的全部内容,希望文章能够帮你解决TypeError: 'list' object is not callable所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
发表评论 取消回复