这是一个棘手的错误,您可能会在使用 Python 的字典中遇到这种错误:
dict = {'a':5,'c':5}
#Typing some codes
在程序的某个时刻,您决定创建一个空字典:
new_dic = dict()
你得到这个回溯:
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'dict' object is not callable
你能告诉我这是 Python 中的错误还是我们在使用内置函数时必须小心,不要预先为某些变量分配它们的名称?
最佳答案
您遇到的情况称为“阴影”。您已经在某个命名空间(模块的全局命名空间或函数的局部命名空间)中创建了一个对象,该对象与内置 dict
类型同名。这会阻止您以通常的方式访问内置的 dict
。
您仍然可以完成它,但需要付出更多的努力。 builtins
(或 Python 2 中的 __builtin__
)模块包含所有通常可直接访问的内置对象。因此,要制作空字典,您可以执行以下操作:
import builtins
dict = whatever
newdic = builtins.dict()
但是...避免为您自己的对象使用名称 dict
可能是一个更好的主意。
关于python - 棘手的 : 'dict' object is not callable,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33546859/