Une brève introduction à la fonction de propriété en Python

不言
Libérer: 2018-10-11 15:49:55
avant
2842 Les gens l'ont consulté

Cet article vous apporte une brève introduction à la fonction de propriété en Python. Il a une certaine valeur de référence. Les amis dans le besoin peuvent s'y référer.

En utilisant la fonction Property en Python, vous pouvez appeler des fonctions dans une classe en tant qu'attributs.

Cas

__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)
Copier après la connexion

Résultat de sortie :

(5, 10)
100
Copier après la connexion

La fonction Propriété crée une taille de propriété et la fonction accesseur est utilisée comme paramètre (obtenez d'abord la valeur, puis attribuez la valeur). Bien qu'elles ressemblent à des propriétés, les propriétés de taille dépendent toujours des calculs de getSize et setSize.

En fait, Property n'est pas une vraie fonction mais une classe avec beaucoup de méthodes spéciales, et ce sont ces méthodes qui peuvent faire tout le travail. Méthodes impliquées :

Les trois méthodes ci-dessus définissent les règles des descripteurs. L'objet qui implémente l'une de ces méthodes est appelé un descripteur. La particularité des descripteurs réside dans la manière dont on y accède. Par exemple, lorsqu'un programme lit une propriété, si la propriété est liée à un objet qui implémente la méthode __get__, la méthode __get__ sera appelée au lieu de simplement renvoyer l'objet. Il s’agit du mécanisme de propriété de l’objet, également appelé méthode de liaison.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Étiquettes associées:
source:cnblogs.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal