Maison >développement back-end >Tutoriel Python >Comment puis-je implémenter pythoniquement des getters et des setters à l'aide du décorateur `property()` ?
Approche pythonique des getters et setters
En Python, il existe différentes manières d'implémenter des getters et des setters pour les attributs d'objet. Parmi les approches mentionnées, une solution Pythonic consiste à exploiter le décorateur property() intégré de Python.
Le décorateur property() vous permet de créer une méthode de propriété qui agit comme un attribut mais peut avoir un comportement supplémentaire, tel que la validation des entrées ou la mise en cache. Voici un exemple :
class C(object): def __init__(self): self._x = None @property def x(self): """I'm the 'x' property.""" print("getter of x called") return self._x @x.setter def x(self, value): print("setter of x called") self._x = value @x.deleter def x(self): print("deleter of x called") del self._x
Dans cet exemple :
Pour utiliser la propriété x, accédez-y simplement comme un attribut normal :
c = C() c.x = 'foo' # setter called foo = c.x # getter called del c.x # deleter called
Cette approche fournit un moyen propre et extensible d'implémenter des getters et des setters tout en adhérant aux conventions Pythonic.
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!