Update-Klasse Variablen innerhalb einer Instanz-Methode
class MyClass:
var1 = 1
def update(value):
MyClass.var1 += value
def __init__(self,value):
self.value = value
MyClass.update(value)
a = MyClass(1)
Ich versuche zu aktualisieren, um eine Klassenvariable(var1) innerhalb einer Methode(_init_) aber ich gibt mir:
TypeError: unbound method update() must be called with MyClass instance as first argument (got int instance instead)
Ich Tue dies, weil ich will den einfachen Zugriff auf alle Variablen in einer Klasse durch aufrufen von print MeineKlasse.var1
Du musst angemeldet sein, um einen Kommentar abzugeben.
Du verwechselst Klassen und Instanzen.
MyClass
ist eine Klassea
ist eine Instanz der Klasse. Dein Fehler hier ist, dassupdate
ist ein Instanz-Methode. Nenne es von__init__
ist, verwenden Sie entweder:oder
Alternativ stellen
update
eine Klasse Methode:Müssen Sie die
@classmethod
decorator: