• # Pas de défaut...

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

    Je n'ai pas trouvé comment utiliser property en laissant l'accesseur par défaut :(.

    S'il en manque une des méthodes d'accès, Python n'a aucun moyen de connaître les moyens d'accès / calcul pour la propriété désirée. Il peut ne pas y avoir de variable derrière, ou bien plusieurs, donc le "défaut" n'a pas de sens. D'ailleurs, en mettant juste un getter ou juste un setter, tu peux faire une propriété en lecture seule ou en écriture seule.

    Mais rien n'empêche l'accès direct à un éventuel attribut sous-jacent _xxx. Même un nommage en __xxx, qui est réécrit en _Classe__xxx par Python, permet l'accès via ce nom.

    In[5]: class C:
    ... def __init__(self):
    ... self.x = 1
    ... self._y = 2
    ... self.__z = 3
    ... 
    In[6]: c = C()
    In[7]: c.x
    Out[7]: 1
    In[8]: c._y
    Out[8]: 2
    In[9]: c._C__z
    Out[9]: 3

    Votez les 30 juin et 7 juillet, en connaissance de cause. http://www.pointal.net/VotesDeputesRN