Heim > Backend-Entwicklung > Python-Tutorial > Wie kann ich Getter und Setter pythonisch implementieren?

Wie kann ich Getter und Setter pythonisch implementieren?

Susan Sarandon
Freigeben: 2024-12-14 17:46:11
Original
827 Leute haben es durchsucht

How Can I Pythonically Implement Getters and Setters?

Wie werden Getter und Setter in Python verwendet?

Die Verwendung von Gettern und Settern bietet eine bequeme Möglichkeit, den Zugriff auf private Attribute in Python zu steuern . Hier sind einige der häufig verwendeten Ansätze:

Methodenbasierter Ansatz:

Sie können separate Getter- und Setter-Methoden erstellen, wie unten gezeigt:

def set_property(property, value):  
def get_property(property): 
Nach dem Login kopieren

Dieser Ansatz gilt jedoch nicht als sehr pythonisch. Eine bevorzugtere Methode ist die Verwendung von:

Manipulation von Objektattributen:

Sie können Objektattributen mithilfe der Punktnotation direkt Werte zuweisen:

object.property = value  
value = object.property
Nach dem Login kopieren

Dieser Ansatz ist einfach zu verwenden und zu verstehen, bietet jedoch keine Kapselung oder Kontrolle über Attribute Zugriff.

Python-Eigenschaften:

Die pythonischste Art, Getter und Setter zu implementieren, ist die Verwendung von Eigenschaften. Dadurch können Sie Getter-, Setter- und Löschmethoden in einer einzigen Codezeile definieren:

class C(object):
    @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

c = C()
c.x = 'foo'  # setter called
foo = c.x    # getter called
del c.x      # deleter called
Nach dem Login kopieren

Das obige ist der detaillierte Inhalt vonWie kann ich Getter und Setter pythonisch implementieren?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage