TypeError:'numpy.float64'对象不可调用

时间:2013-11-07 04:49:02

标签: python numpy

所以,我想要做的是从给定>的数组中的某些位置获取某些数字。范围并将它们放入等式中

yy = arange(4)
xx = arange(5)
Area = ((xx[2] - xx[1])(yy[2] + yy[1])) / 2

我尝试运行它,我得到了这个......

----> ((xx[2] - xx[1])(yy[2] + yy[1])) / 2
TypeError: 'numpy.int64' object is not callable

我收到错误..如何在数组中使用某些数字并将它们放入等式中?

4 个答案:

答案 0 :(得分:15)

Python不遵循与书面数学相同的规则。您必须明确指出乘法。

为:

(a)(b)

(除非a是函数)

好:

(a) * (b)

答案 1 :(得分:6)

乘法时遗失*,请尝试:

import numpy as np
yy = np.arange(4)
xx = np.arange(5)
Area = ((xx[2] - xx[1])*(yy[2] + yy[1])) / 2

答案 2 :(得分:2)

  

当函数的名称与返回值相同时,也会发生此错误

def samename(a, b):
    samename = a*b
    return samename

这可能是超级菜鸟的错误,我很好奇这个答案多久会有用一次。

答案 3 :(得分:1)

之所以会发生这种情况,是因为您已覆盖尝试调用的函数的名称。

例如:

def x():
    print("hello world")
...
x = 10.5
...
x()
---------------------------------------------------------------------------
TypeError                                 Traceback (most recent call last)
 in 
      2     print("hello world")
      3 x = 10.5
----> 4 x()

TypeError: 'float' object is not callable