Wenn Sie Eigenschafts-Accessoren in Python richtig einstellen, wird häufig wie folgt mit der Funktion "Eigenschaft" geschrieben. Zum Beispiel, wenn Sie die Eigenschaft "bar" an die Klasse "Foo" anhängen möchten.
class Foo(object):
def __get_bar(self):
return self.__bar
def __set_bar(self, value):
self.__bar = value
def __del_bar(self):
del self.__bar
bar = property(__get_bar, __set_bar, __del_bar,
doc="short explanation for bar property")
Bei dieser Schreibmethode müssen jedoch bis zu drei Methoden für eine Eigenschaft erstellt werden, was verwirrend ist.
In einem solchen Fall ist es auch möglich, dies wie folgt zusammen zu schreiben. Oben und unten haben die gleiche Bedeutung.
class Foo(object):
def bar():
doc = "short explanation for bar property"
def fget(self):
return self.__bar
def fset(self, value):
self.__bar = value
def fdel(self):
del self.__bar
return locals()
bar = property(**bar())
Kann weggelassen werden, wenn Sie nicht "fdel ()" oder "doc" benötigen.
Es ist etwas einfacher zu sehen, weil eine Methode mit demselben Namen für eine Eigenschaft gruppiert ist ... Ich fühle.
Recommended Posts