Hallo Ole, leider habe ich selbst auch noch keine Erfahrung mit der Bibliothek gemacht und ich bin mir auch nicht sicher, ob sie deinen Fall abdeckt, aber kennst du pydantic? https://pydantic-docs.helpmanual.io/usage/validators/ Falls deine Klasse nur ein Datenkontainer ist, könnte ich mir gut vorstellen, dass die Bibliothek das macht, was du willst, falls der Aspekt nur ein kleiner Aspekt ist, ist pydantic vllt. doch nichts für dich. Viele Grüße, Julian On 26/05/2020 17:44, Оlе Ѕtrеісhеr wrote:
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 _______________________________________________ python-de maillist - python-de@python.org https://mail.python.org/mailman/listinfo/python-de