不在python中使用类,但我的函数需要一个" self"争论?

时间:2014-11-29 07:26:35

标签: python class self

我正在尝试使用这些函数来计算列表数据的热容量,但是除非我使用" self"运行第二个函数,否则它会出错。参数。

TypeError: integral() takes exactly 6 arguments (7 given)    

我做了一些搜索,似乎你需要" self"使用类时的参数,但我没有创建任何类。只有两个功能。任何人都知道发生了什么事?

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

1 个答案:

答案 0 :(得分:0)

你在课堂上使用self,就像这样:

class myClass:
    def myFunc(self, name):
        self.name = name

当用作类外部函数的参数时,self没有任何特殊含义;这只是一个名为self的论点。 Thuogh你真的不应该把自己的论点命名为自己,因为它可能非常令人困惑。

由于你的函数不属于任何类,它希望你给它7个参数,包括一个名为self的参数。