Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.lang.python > #5634

"property-init"-decorator

Path csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From ole-usenet-spam@gmx.net (Оlе Ѕtrеісhеr)
Newsgroups de.comp.lang.python
Subject "property-init"-decorator
Date Tue, 26 May 2020 17:44:58 +0200
Lines 34
Message-ID <875zci8zut.fsf@orrococo> (permalink)
Reply-To Оlе Ѕtrеісhеr <ole-usenet-10@gmx.net>
Mime-Version 1.0
Content-Type text/plain; charset=utf-8
Content-Transfer-Encoding 8bit
X-Trace individual.net Q/qDxeNQWVd/Vu/NSpZr4AcvJngZKuS4tR9sypZOnRpOvs963sLd5ZlQ==
Cancel-Lock sha1:VRblIkhkv2kxEa9Sm/8F9AmLLs4= sha1:NLxIVDvmnmac6cQQRnIcj3+07ro=
User-Agent Gnus/5.13 (Gnus v5.13) Emacs/26.1 (gnu/linux)
Xref csiph.com de.comp.lang.python:5634

Show key headers only | View raw


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

Back to de.comp.lang.python | Previous | NextNext in thread | Find similar


Thread

"property-init"-decorator ole-usenet-spam@gmx.net (Оlе Ѕtrеісhеr) - 2020-05-26 17:44 +0200
  Re: [Python-de] "property-init"-decorator Julian Gethmann <mail.python.org@gethmann.org> - 2020-05-26 18:07 +0200
  Re: [Python-de] "property-init"-decorator Hartmut Goebel <h.goebel@goebel-consult.de> - 2020-05-27 10:27 +0200
  Re: "property-init"-decorator "Andreas B." <ab@sysing.de> - 2020-05-27 13:18 +0200
  Re: [Python-de] "property-init"-decorator Gregor Engberding <gregor@landit.de> - 2020-05-27 17:04 +0200
  Re: [Python-de] "property-init"-decorator Peter Otten <__peter__@web.de> - 2020-05-27 17:13 +0200
  Re: [Python-de] "property-init"-decorator Hartmut Goebel <h.goebel@goebel-consult.de> - 2020-05-31 10:13 +0200
  Re: [Python-de] "property-init"-decorator Peter Otten <__peter__@web.de> - 2020-05-31 15:37 +0200

csiph-web