Python 为什么我会得到AttributeError。它不起作用

Python 为什么我会得到AttributeError。它不起作用,python,class,object,python-3.x,attributes,Python,Class,Object,Python 3.x,Attributes,为什么它不起作用 属性错误: “int”对象没有属性“aktuellVolym” Bil是一个类。我想您需要一个类的实例 class Bil(object): def __init__(self, tankVol, aktVol=0): self.tankVolym = tankVol self.aktuellVolym = aktVol def tanka(self, liter=5): self.aktuellVolym =

为什么它不起作用

属性错误:
“int”对象没有属性“aktuellVolym”

Bil
是一个类。我想您需要一个类的实例

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
,因为:

bil_instance = Bil(80)  # Create instance of Bil.
print(bil_instance.tanaka())
print(bil_instance.aktuellVolym)

80
作为
self
参数传递给
tanka
函数。在python2.x上,您可能会得到另一个错误,即
tanka
需要一个
Bil
实例作为第一个参数。

Bil是一个类。您将需要该类的一个实例->foobar=Bil(20)。然后您就可以使用foobar.aktuellVolym了。
Bil.tanka(80)