Python-函数返回不可调用的“ int”对象错误

时间:2019-09-20 09:36:07

标签: python

a0是一个整数。 a1是整数。 x1_list是一个系列。 y1 list是系列。

第一个代码运行没有错误,但是第二个代码没有错误,

1。

def a0_derivative(a0, a1, xi_list, yi_list):
     len_data = len(xi_list)
     error = 0
     for i in range(0, len_data):
         error += (a0 + a1*xi_list[i] - yi_list[i])
     deriv = 2*error/len_data
     return deriv

2。

def a0_derivative(a0, a1, xi_list, yi_list):
    item= []
    n = len(xi_list)
    for i in range(n):
        div = 2(a0 + a1*xi_list[i]-yi_list[i])
        item.append(div)
    deriv = np.mean(item)
    return deriv

1 个答案:

答案 0 :(得分:1)

这很简单。在Python中,要进行乘法运算,请使用*。只需将其更改为:

def a0_derivative(a0, a1, xi_list, yi_list):
    item= []
    n = len(xi_list)
    for i in range(n):
        div = 2 * (a0 + a1*xi_list[i]-yi_list[i])
        item.append(div)
    deriv = np.mean(item)
    return deriv

如果将其用作2(a0 + a1*xi_list[i]-yi_list[i]),Python会认为您正在尝试使用一个函数,但是整数在Python中不能成为函数,因此会出错。