Heim  >  Artikel  >  Backend-Entwicklung  >  Eine kurze Einführung in die Eigenschaftsfunktion in Python

Eine kurze Einführung in die Eigenschaftsfunktion in Python

不言
不言nach vorne
2018-10-11 15:49:562823Durchsuche

Dieser Artikel bietet Ihnen eine kurze Einführung in die Eigenschaftsfunktion in Python. Ich hoffe, dass er für Freunde hilfreich ist.

Mit der Property-Funktion in Python können Sie Funktionen in einer Klasse als Attribute aufrufen.

Fall

__metaclass__=type
class Rectangle:
    def __init__(self):
        self.width=0
        self.height=0
    def setSize(self,size):
        self.width,self.height=size
    def getSize(self):
        return self.height,self.width
    size=property(getSize,setSize)
r=Rectangle()
r.width=10
r.height=5
ret=r.size
print(ret)
r.size=100,50
rets=r.width
print(rets)

Ausgabeergebnis:

(5, 10)
100

Eigenschaftsfunktion Es wird eine Attributgröße erstellt und die Zugriffsfunktion als Parameter verwendet (zuerst den Wert abrufen und dann den Wert zuweisen). Obwohl sie wie Eigenschaften aussehen, hängen die Größeneigenschaften immer noch von den Berechnungen von getSize und setSize ab.

Tatsächlich ist Property keine echte Funktion, sondern eine Klasse mit vielen speziellen Methoden, und es sind diese Methoden, die die ganze Arbeit erledigen können. Beteiligte Methoden:

Die oben genannten drei Methoden definieren die Regeln von Deskriptoren. Das Objekt, das eine dieser Methoden implementiert, wird als Deskriptor bezeichnet. Das Besondere an Deskriptoren ist die Art und Weise, wie auf sie zugegriffen wird. Wenn ein Programm beispielsweise eine Eigenschaft liest und die Eigenschaft an ein Objekt gebunden ist, das die Methode __get__ implementiert, wird die Methode __get__ aufgerufen, anstatt einfach das Objekt zurückzugeben. Dies ist der Eigenschaftsmechanismus des Objekts, auch Bindungsmethode genannt.

Das obige ist der detaillierte Inhalt vonEine kurze Einführung in die Eigenschaftsfunktion in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:cnblogs.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen