Hallo,
wir möchten in einer Klasse eine Reihe von Attributen konsistent
speichern; d.h. es gibt Beschränkungen für die verschiedenen Attribute.
Die Idee ist, das durch Properties zu machen:
Class Cfg:
def __init__(self);
self._myprop = 1.23
[...]
@property
def myprop(self)
return self._myprop
@myprop.setter
def myprop(self, val):
if val > self._maxprop: # als Beispiel
raise ValueError()
self._myprop = val
Das Unschöne daran ist, dass die Initialisierung der Property im
__init__ und damit physisch weit entfernt vom Rest erfolgt. Das ist,
wenn man viele (>>20) Attribute hat, nicht mehr übersichtlich.
Wie bringt man die enger zusammen? Ein @myprop.init gibt es ja
offensichtlich nicht und kann man auch nicht so ohne weiteres anlegen,
oder? Oder was wäre ein sinnvolles Pattern hier?
Schöne Grüße
Ole