Ich versuche, über Getter und Setter mit Python zu lernen. Ich verstehe die Grundidee, aber ich kann es nicht die Eigenschaft Dekorateur an die Arbeit mit,Wie kann ich ein Attribut mit @property in Python ändern?
class f(object):
def __init__(self):
self.de = ['d', 'd']
@property
def d(self):
return self.de
@d.setter
def d(self, value):
self.d = value
f = f()
f.d(1)
Als ich dies betreibe ich eine Art Fehlermeldung erhalten; 'Listenobjekt ist nicht aufrufbar'
'd' in der '@ setter' und' de' im Konstruktor? Beachten Sie auch, dass Ihr 'de' eine Liste ist, also würden Sie den' Wert' zur Liste hinzufügen und nicht die gesamte Liste überschreiben oder das Argument umbenennen, um zu verdeutlichen, dass es sich um eine neue Liste handelt, die die bestehende ersetzt . – Jens
'f.d [1]' wird funktionieren – robyschek