尝试对字典中的值求和时出现以下错误。我期望获得总和(即15),但会引发错误。
这是一个错误吗?
IPython QtConsole 3.1.0 Python 2.7.10 | Continuum Analytics,Inc。| (默认,2015年5月28日,17:04:42)
d = {'1': 1, '2': 2 , '3': 3, '4': 4, '5': 5}
>>> sum(d.values())
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-36-4babd535f17a> in <module>()
----> 1 sum(d.values())
TypeError: 'int' object is not callable
答案 0 :(得分:5)
您在代码中为变量sum
命名了一个指向int的变量,因此您实际上试图调用的不是sum
函数。只需添加del sum
,然后再次尝试代码。
一个很好的例子,说明为什么你不应该隐藏内置函数名。
In [24]: sum = 4
In [25]: sum((1,2))
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
<ipython-input-25-a2ca1bd9c959> in <module>()
----> 1 sum((1,2))
TypeError: 'int' object is not callable
In [26]: del sum
In [27]: sum((1,2))
Out[27]: 3