所以,我想要做的是从给定>的数组中的某些位置获取某些数字。范围并将它们放入等式中
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
我收到错误..如何在数组中使用某些数字并将它们放入等式中?
答案 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