Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python A';列表';对象不可在十进制列表上调用_Python_List_Python 2.7_Fatal Error - Fatal编程技术网

Python A';列表';对象不可在十进制列表上调用

Python A';列表';对象不可在十进制列表上调用,python,list,python-2.7,fatal-error,Python,List,Python 2.7,Fatal Error,当我针对十进制列表调用sum时,我得到的“list”对象不可调用。请参见下面的命令行会话 >>> sys.version_info sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0) >>> d = map(Decimal, u'0.97 + .03'.split('+')) >>> d [Decimal('0.97'), Decimal('0

当我针对
十进制
列表调用
sum
时,我得到的
“list”对象不可调用。请参见下面的命令行会话

>>> sys.version_info
sys.version_info(major=2, minor=7, micro=3, releaselevel='final', serial=0)
>>> d = map(Decimal, u'0.97 + .03'.split('+'))
>>> d
[Decimal('0.97'), Decimal('0.03')]
>>> sum(d)
Traceback (most recent call last):
  File "<console>", line 1, in <module>
TypeError: 'list' object is not callable
>>sys.version\u info
系统版本信息(主版本=2,次版本=7,微版本=3,最终版本=0)
>>>d=映射(十进制,u'0.97+.03'。拆分('+'))
>>>d
[十进制('0.97')、十进制('0.03')]
>>>总数(d)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“列表”对象不可调用
我正在使用python
2.7.3
sum(d)
的预期输出为
1.00


我在Python网站上看到了它的工作原理

我怀疑前面的代码类型列表中有一个名为
sum
的局部变量,这就是为什么会出现此错误。在python中,可以重新绑定任何内置函数。您仍然可以通过使用
\uuu builtin\uu
模块调用内置函数
sum

>>> sum = [] # override builtin sum function
>>> from decimal import Decimal
>>> d = map(Decimal, ['0.97', '0.03'])
>>> sum(d)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
>>> __builtins__.sum(d)
Decimal('1.00')
>>sum=[]#覆盖内置的sum函数
>>>从十进制输入十进制
>>>d=映射(十进制,['0.97','0.03'])
>>>总数(d)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“列表”对象不可调用
>>>_u____;u内置式____;总和(d)
十进制('1.00')

不过,我建议不要以内置函数或类型命名局部变量。捕获这些错误的一个好方法是在代码上运行Python静态代码检查器。某些编辑器或IDE允许轻松与pylint集成。

我怀疑前面的代码类型列表中有一个名为
sum
的局部变量,这就是为什么会出现此错误。在python中,可以重新绑定任何内置函数。您仍然可以通过使用
\uuu builtin\uu
模块调用内置函数
sum

>>> sum = [] # override builtin sum function
>>> from decimal import Decimal
>>> d = map(Decimal, ['0.97', '0.03'])
>>> sum(d)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
>>> __builtins__.sum(d)
Decimal('1.00')
>>sum=[]#覆盖内置的sum函数
>>>从十进制输入十进制
>>>d=映射(十进制,['0.97','0.03'])
>>>总数(d)
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
TypeError:“列表”对象不可调用
>>>_u____;u内置式____;总和(d)
十进制('1.00')

不过,我建议不要以内置函数或类型命名局部变量。捕获这些错误的一个好方法是在代码上运行Python静态代码检查器。某些编辑器或IDE允许轻松与pylint集成。

类型(sum)的计算结果是什么?
>>类型(sum)
@Muquaddim——这是您的问题。您通过在某处创建同名列表来隐藏内置的
sum
函数…看起来您在代码某处定义了一个变量名
sum
。type(sum)的计算结果是什么?
>>type(sum)
@Muquaddim——这是您的问题。您通过在某处创建同名列表来隐藏内置的
sum
函数…看起来您在代码某处定义了一个变量名
sum