为什么python在这个类的第二个方法上抛出错误?你知道吗
class Lutany:
formulaa = 0
formulab = 0
def __init__(self,num):
self.num = num
self.formulaa = self.formulaA()
self.formulab = self.formulaB
def formulaA(self):
q = 0
num = self.num
while num > 0 :
q += num + (num - 1)
num = num - 1
return q
self.formulab = formulaB()
def formulaB(self):
num = self.num
q = 0
while num > 0 :
q = q + (num * num)
num = num - 1
return (0.5 * q)
if(__name__ == '__main__'):
l = Lutany(675)
p = l.formulaa
q = l.formulab
print " FormunlA returned " , str(p) , " for 675 "
print " FormulaB returned " , str(q) , " for 675 "
运行时出现以下错误:
~$ python lutany.py
Traceback (most recent call last):
File "lutany.py", line 30, in <module>
l = Lutany(675)
File "lutany.py", line 7, in init
self.formulab = self.formulaB
AttributeError: Lutany instance has no attribute 'formulaB'
当你说,在形式上,你是指
self.formulab = formulaB()
吗?你知道吗您对
formulaB()
方法的块缩进太多(尽管对问题的编辑破坏了这方面的证据)。确保它位于类indent的正下方的indent级别,而不是上一个方法的indent级别。你知道吗这里缺少括号:
self.formulab = self.formulaB
。应该是self.formulab = self.formulaB()
。你知道吗相关问题 更多 >
编程相关推荐