我正在尝试使用这些函数来计算列表数据的热容量,但是除非我使用" 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
答案 0 :(得分:0)
你在课堂上使用self,就像这样:
class myClass:
def myFunc(self, name):
self.name = name
当用作类外部函数的参数时,self
没有任何特殊含义;这只是一个名为self的论点。 Thuogh你真的不应该把自己的论点命名为自己,因为它可能非常令人困惑。
由于你的函数不属于任何类,它希望你给它7个参数,包括一个名为self的参数。