Update von Attribut in Klasse
Verfasst: Samstag 20. September 2014, 08:42
Hi Leute,
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:
Leider wird jedes mal wenn ich aufrufe die Berechnung ansich durchgeführt. In meinem eigentlichen Code ist diese Berechnung sehr viel aufwändiger und muss sehr oft ausgeführt werden.
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:
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.yCode: Alles auswählen
a.yGibt 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