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

Eine kurze Einführung in die Eigenschaftsfunktion in Python

不言
Freigeben: 2018-10-11 15:49:55
nach vorne
2888 Leute haben es durchsucht

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)
Nach dem Login kopieren

Ausgabeergebnis:

(5, 10)
100
Nach dem Login kopieren

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!

Verwandte Etiketten:
Quelle:cnblogs.com
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
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage