class Bil(object):
def __init__(self, tankVol, aktVol=0):
self.tankVolym = tankVol
self.aktuellVolym = aktVol
def tanka(self, liter=5):
self.aktuellVolym = self.aktuellVolym + liter
over = self.aktuellVolym - self.tankVolym
if over > 0 :
self.aktuellVolym = self.tankVolym
else:
over = 0
return over
print(Bil.tanka(80))
print(Bil.aktuellVolym)
为什么不起作用?
AttributeError:
"int" object as no attribute "aktuellVolym"
答案 0 :(得分:2)
Bil
是一个班级。我想你想要一个类的实例。
bil_instance = Bil(80) # Create instance of Bil.
print(bil_instance.tanaka())
print(bil_instance.aktuellVolym)
在这种情况下,您获得AttributeError
因为:
Bil.tanka(80)
将80
作为self
参数传递给tanka
函数。在python2.x上,你会得到一个不同的错误,说tanka
需要一个Bil
实例作为第一个参数。