在python中不使用类,但我的函数需要一个“self”参数?

在python中不使用类,但我的函数需要一个“self”参数?,python,class,self,Python,Class,Self,我试图用这些函数来计算表列数据的热容,但是除非我用自变量运行第二个函数,否则它会出错 TypeError: integral() takes exactly 6 arguments (7 given) 我做了一些搜索,似乎在使用类时需要自变量,但我没有创建任何类。只有两个功能。有人知道发生了什么吗 from scipy.integrate import quad def heatcap(T, a, b, c, d): a1=a*10**-3 b1=b*10**-5

我试图用这些函数来计算表列数据的热容,但是除非我用自变量运行第二个函数,否则它会出错

TypeError: integral() takes exactly 6 arguments (7 given)    
我做了一些搜索,似乎在使用类时需要自变量,但我没有创建任何类。只有两个功能。有人知道发生了什么吗

from scipy.integrate import quad

def heatcap(T, a, b, c, d):
    a1=a*10**-3
    b1=b*10**-5
    c1=c*10**-8
    d1=d*10**-12
    return a1+b1*T+c1*T**2+d1*T**3

def integral(self, a2, b2, c2, d2, T1, T2):
    I=quad(heatcap, T1, T2, args=(a2,b2,c2,d2))
    print I

在类中使用self,如下所示:

class myClass:
    def myFunc(self, name):
        self.name = name
当用作类外函数的参数时,self没有任何特殊意义;这只是一个名为self的论点。所以,你真的不应该说出你自己的论点,因为它可能会非常混乱


由于您的函数不属于任何类,它希望您为其提供7个参数,包括名为self的参数。

self只是一个名称。在代码中的某个地方,此函数传递了一个您不期望的参数,但该参数不一定意味着您得出的结论是什么。不幸的是,我们无法使用提供的信息诊断此问题。查看堆栈跟踪,查看它指向的行,并查看这些行中是否有任何一行传递了您意想不到的参数。如果您将integral作为回调传递给其他函数,请查看该函数的文档,并查看它传递给integral的参数。您的代码没有显示如何使用这些函数。