TypeError:“范围”对象在没有明显原因的情况下不可调用

时间:2019-02-03 22:46:38

标签: python python-3.x object range typeerror

我编写了代码以汇总矩阵的数字,但出现此错误TypeError:'range'对象不可调用,我也不知道为什么 这是我的代码:

quanteda

2 个答案:

答案 0 :(得分:2)

我认为您应该像在第一个for循环中的代码那样遍历矩阵的行和列,即像这样:

for i in range(fil):
    for j in range(col):
        if A[i][j] > 0:
            ...

您的代码不正确,因为它正在尝试调用range对象:

>>> range(fil)
range(0, 10)
>>> type(range(fil))
<class 'range'>
>>> range(fil)(col)
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: 'range' object is not callable

因此,对range(fil)的调用将创建一个新的range对象,然后Python尝试将该对象当作函数来调用,将col作为参数传递给该对象。 / p>

也许您应该阅读函数和函数调用,以更好地了解函数在Python中的工作方式。

答案 1 :(得分:0)

您可能想更改行

for i in range (fil)(col):

公正

for i in range (fil):

以这种方式,它是对range对象的函数调用,并且如错误消息所述,调用range()的结果不能用作可调用/函数。