English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Grundlegende Python-Tutorials

Python Flusskontrolle

Funktionen in Python

Datentypen in Python

Dateioperationen von Python

Python Objekte und Klassen

Python Datum und Zeit

Hochwertiges Wissen von Python

Python Referenzhandbuch

Verwendung und Beispiel von Python property()

Python-intern definierte Funktionen

property() Konstruktor gibt property-Eigenschaft zurück.

Die Syntax von property() ist:

property(fget=None, fset=None, fdel=None, doc=None)

Empfohlene Lektüre: Python @property: Wie man es verwendet und warum?

property() Parameter

property() nimmt vier Parameter:

  • fget (optional) -Funktion zum Abrufen des Attributwerts. Standardmäßig None.

  • fset (optional) -Funktion zum Setzen des Attributwerts. Standardmäßig None.

  • fdel (optional) -Funktion zum Löschen des Attributwerts. Standardmäßig None.

  • doc (optional) -Ein String, der die Dokumentation (docstring) der Eigenschaft enthält. Standardmäßig None.

property() Rückgabewert

property() gibt eine Attributeigenschaft zurück, die aus den gegebenen Getter, Setter und Deleter besteht.

  • Wenn keine Parameter angegeben werden, gibt property() eine grundlegende Eigenschaft zurück, die keinen Getter, Setter oder Deleter enthält.

  • Wenn nicht angegebendocproperty() verwendet die docstring der Getter-Funktion.

Beispiel1Erstellen Sie Attribute mit Getter, Setter und Deleter

class Person:
    def __init__(self, name):
        self._name = name
    def get_name(self):
        print('den Namen abrufen:')
        return self._name
    def set_name(self, value):
        print('Den Namen auf: ' + value)
        self._name = value
    def del_name(self):
        print('den Namen löschen')
        del self._name
    # Die Verwendung von get_name und set_name zum Setzen der Eigenschaft
    # und del_name Methode
    name = property(get_name, set_name, del_name, 'Name property')
p = Person('张三')
print(p.name)
p.name = '李四'
del p.name

Ausgabenergebnis

den Namen abrufen:
张三
Setzen Sie den Namen auf: 李四
den Namen löschen

Hier,_nameWird verwendet, um zu speichernPersonPrivater Variablenname des Namens.

Wir haben auch eingerichtet:

  • get_name() ist die Methode zum Abrufen des Namens einer Person.

  • Die Methode set_name() wird verwendet, um den Namen einer Person zu setzen.

  • Die Methode del_name() dient zum Löschen des Namens einer Person.

Jetzt rufen wir die Methode property() auf, um einen neuen Attributnamen zu setzen.

Wie im Programm gezeigt, wird durch die Ausgabe im internen Bereich, die interne Referenz p.name, get name() als Getter, set name() als Setter und del name() als Deleter aufgerufen.

Beispiel2:den @property-Decorator verwenden

property() kann verwendet werdenPython-Decorator @property wird verwendet, um Getter, Setter und Deleter zu分配, anstatt zu verwenden.

class Person:
    def __init__(self, name):
        self._name = name
    @property
    def name(self):
        print('den Namen abrufen:')
        return self._name
    @name.setter
    def name(self, value):
        print('den Namen auf: ') + value)
        self._name = value
    @name.deleter
    def name(self):
        print('den Namen löschen')
        del self._name
p = Person('王麻子')
print('der Name ist:', p.name)
p.name = '李二'
del p.name

Ausgabenergebnis

den Namen abrufen:
der Name ist: 王麻子
den Namen auf: 李二 setzen
den Namen löschen

Hier verwenden wir property() nicht, sondern den @property-Decorator.

Zunächst bestimmen wir, dass die Methode name() auchPersonder Eigenschaft. Diese Operation kann durch die Verwendung der im Programm gezeigten Getter-Methode abgeschlossen werden.

Als nächstes verwenden wir den Attributnamen, um Setter und Deleter zu spezifizieren.

Dies wird durch die Verwendung der Methoden @name.settersetter und @name.deleterDeleter erreicht.

Beachten Sie, dass wir denselben Methodennamen mit verschiedenen Definitionen verwendet haben, um Getter, Setter und Deleter zu definieren.

Jetzt wird, egal zu jeder Zeit, wenn p.name verwendet wird, intern der geeignete Getter, Setter und Deleter aufgerufen, wie durch die im Methodeninneren angezeigte Ausgabe gezeigt.

Python-intern definierte Funktionen