Maison >développement back-end >Tutoriel Python >Une brève introduction à la fonction de propriété en Python

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

不言
不言avant
2018-10-11 15:49:562880parcourir

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)

Résultat de sortie :

(5, 10)
100

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer

Articles Liés

Voir plus