Fonction intégrée Python property()
Tiré de la documentation Python 3
Retourne un attribut de propriété.
Introduction
La fonction property() est utilisée pour créer des attributs de propriété. Un attribut de propriété est un type spécial d’attribut qui possède des méthodes getter, setter et delete. Cela vous permet d’ajouter une logique à la récupération, à la définition ou à la suppression de la valeur d’un attribut.
Il est plus courant d’utiliser le décorateur @property, qui est une manière plus pratique d’utiliser property().
Exemple
Voici un exemple d’utilisation de property() pour créer un attribut en lecture seule :
class Person:
def __init__(self, name):
self._name = name
def get_name(self):
print("Getting name")
return self._name
# Créer une propriété
name = property(get_name)
p = Person("John")
print(p.name) # Ceci appelle get_name()
Getting name
John
Note : p.name = "Jane" lèverait une AttributeError car il n’y a pas de setter.
Et voici la manière la plus courante de le faire avec le décorateur @property :
class Person:
def __init__(self, name):
self._name = name
@property
def name(self):
print("Getting name")
return self._name
p = Person("John")
print(p.name)
Getting name
John