ich habe eine Klasse mit attributen definiert. Diese Attribute werden im Programmablauf zugewiesen. Nun möchte ich weitere Attribute aus den ursprünglichen berechnen.
Momentan realisiere ich das über die "@property" Funktionalität:
Code: Alles auswählen
class test:
def __init__(self):
self.x = 0.0
@property
def y(self):
return self.x**2.0
a = test()
a.x = 2.0
print a.y
Code: Alles auswählen
a.y
Gibt es eine Möglichkeit nach dem alle Attribute der "__init__"-Sektion zugewiesen wurden eine Art "update" durchzuführen und den Wert y der Klasse abzuspeichern, so dass nicht immer die Berechnung erfolgen muss?
Meine Vorstellung wäre:
Code: Alles auswählen
class test:
def __init__(self):
self.x = 0.0
def update(self):
self.y = self.x**2.0
return # irgendwie muss man hier etwas anderes gemacht werden
a = test()
a.x = 2.0
a.update()
print a.y