这是一个棘手的错误,你可以使用Python进入字典:
dict = {'a':5,'c':5}
#Typing some codes
Run Code Online (Sandbox Code Playgroud)
在程序的某个时刻,您决定创建一个空字典:
new_dic = dict()
Run Code Online (Sandbox Code Playgroud)
你得到这个Traceback:
Traceback (most recent call last):
File "<input>", line 1, in <module>
TypeError: 'dict' object is not callable
Run Code Online (Sandbox Code Playgroud)
你能否告诉我它是否是Python中的一个错误,或者只是在使用内置函数时必须小心,而不是先为一些变量指定它们的名字?
Blc*_*ght 10
你遇到的是"阴影".您已在某个命名空间(模块的全局命名空间或函数的本地命名空间)中创建了一个与内置dict类型同名的对象.这可以防止您dict以通常的方式访问内置函数.
你可以仍然得到它,带着几分更多的努力.的builtins(或__builtin__在Python 2)模块保持所有的内置可直接常访问的对象.因此,要制作空字典,您可以执行以下操作:
import builtins
dict = whatever
newdic = builtins.dict()
Run Code Online (Sandbox Code Playgroud)
但是......避免dict为自己的对象使用名称可能只是一个更好的主意.