Python中dict()函数调用报错:'dict' object is not callable 求助
解决TypeError: 'dict' object is not callable的问题
这不是Python的bug,核心原因是代码里出现了命名冲突:
- 你的代码中一定存在类似
dict = {...}或dict = 某个字典对象的语句,把Python内置的dict类型名覆盖成了一个具体的字典实例。 - 单独运行目标代码时,
dict还是指向内置构造函数,所以能正常执行;但先运行其他代码后,dict被替换成了字典对象,再调用dict()就会试图调用这个不可调用的对象,从而抛出错误。
解决方案
- 全局搜索代码中所有将
dict作为变量名的地方,改成不会和内置类型冲突的名称(比如my_dict、data_dict)。 - 如果是在交互式环境中临时修复,可以执行
del dict删除这个自定义变量,让dict重新指向内置构造函数。
错误示例与修正
错误代码:
dict = {'a': 1} # 覆盖了内置dict类型 c = dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 触发TypeError
修正后代码:
my_dict = {'a': 1} c = dict(zip(['one', 'two', 'three'], [1, 2, 3])) # 正常运行
内容的提问来源于stack exchange,提问作者SJPJack
相关产品推荐
相关产品推荐

