• # ...

    Posté par . En réponse au message Python et les propriétés. property(). Évalué à 3.

    Il n'y a pas d'accesseur par défaut, rien ne permet de dire que self.commercant (la property) doit renvoyer self._commercant (une variable classique), donc c'est à toi de le faire (better explicit ...). C'est pour ca aussi que tu ne risque pas de boucle infinie, quand tu set self._commercant ça n'appelle pas la property.
    Et au passage autant utiliser la syntaxe avec les décorateurs, c'est fait pour :

    class ingredient():
     def __init__(self):
     self._commercant = ""
     @property
     def commercant(self):
     return self._commercant
     @commercant.setter
     def commercant(self, nom):
     print("Vous avez modifié l'entrée du commercant §")
     self._commercant = nom

    Peut on configurer l'interpréteur dans cette configuration afin d'être sur que python n'accède pas via propriety ailleur dans le code ?

    self._commercant est une variable privée mais comme beaucoup de choses en Python c'est une convention. Rien n'empêche d'y accéder (i = ingredient() ; i._commercant = 'foo'), c'est juste mal de le faire.