Heim >Backend-Entwicklung >Python-Tutorial >Wie kann ich Getter und Setter mithilfe des „property()'-Dekorators pythonisch implementieren?
Pythonischer Ansatz für Getter und Setter
In Python gibt es verschiedene Möglichkeiten, Getter und Setter für Objektattribute zu implementieren. Unter den genannten Ansätzen umfasst eine Pythonic-Lösung die Nutzung des in Python integrierten property()-Decorators.
Mit dem property()-Decorator können Sie eine Eigenschaftsmethode erstellen, die verhält sich wie ein Attribut, kann aber zusätzliches Verhalten haben, wie z. B. Eingabevalidierung oder Caching. Hier ist ein Beispiel:
class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" print("getter of x called") return self._x @x.setter def x(self, value): print("setter of x called") self._x = value @x.deleter def x(self): print("deleter of x called") del self._x
In diesem Beispiel:
Um die x-Eigenschaft zu verwenden, greifen Sie einfach wie eine normale Eigenschaft darauf zu Attribut:
c = C() c.x = 'foo' # setter called foo = c.x # getter called del c.x # deleter called
Dieser Ansatz bietet eine saubere und erweiterbare Möglichkeit, Getter und Setter unter Einhaltung der Pythonic-Konventionen zu implementieren.
Das obige ist der detaillierte Inhalt vonWie kann ich Getter und Setter mithilfe des „property()'-Dekorators pythonisch implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!