我在linux2上使用Python 2.7.12(默认,2016年11月19日,06:48:10)[GCC 5.4.0 20160609],当我运行下面的代码时,显示相应的错误.我搜索了很多关于这个但我无法找到原因
>>> bob=dict(name='bob smith',age=42,pay='10000',job='dev') Traceback (most recent call last): File "", line 1, in TypeError: 'dict' object is not callable
Right leg.. 17
在一个新的翻译:
>>> bob=dict(name='bob smith',age=42,pay='10000',job='dev') >>> bob {'age': 42, 'pay': '10000', 'job': 'dev', 'name': 'bob smith'}
但是,你得到一个TypeError
:
TypeError:'dict'对象不可调用
你得到的这个错误告诉你,你 dict
的不可调用.
因为当我打开一个新的翻译时我 dict
可以调用,这意味着你 dict
的不同.
最有可能的是,您定义了一个dict
变量,它会覆盖内置变量dict
.寻找
dict = {...}
行,并重命名您的变量.
正如@Robᵩ所指出的,不要为变量使用内置名称.特别是避免诱人str
,list
等等.
在一个新的翻译:
>>> bob=dict(name='bob smith',age=42,pay='10000',job='dev') >>> bob {'age': 42, 'pay': '10000', 'job': 'dev', 'name': 'bob smith'}
但是,你得到一个TypeError
:
TypeError:'dict'对象不可调用
你得到的这个错误告诉你,你 dict
的不可调用.
因为当我打开一个新的翻译时我 dict
可以调用,这意味着你 dict
的不同.
最有可能的是,您定义了一个dict
变量,它会覆盖内置变量dict
.寻找
dict = {...}
行,并重命名您的变量.
正如@Robᵩ所指出的,不要为变量使用内置名称.特别是避免诱人str
,list
等等.
在该交互式会话的前一行中,您将dict
名称反弹到某个变量.也许你有一条dict={1:2}
或类似的线dict=dict(one=1, two=2)
.
这是一个这样的会话:
>>> dict=dict(one=1) >>> bob=dict(name='bob smith',age=42,pay='10000',job='dev') Traceback (most recent call last): File "", line 1, in TypeError: 'dict' object is not callable >>>
作为一般规则,不应使用内置类型名称作为变量名称来防止此错误.