Bonjour
Je suis actuellement plongé dans l'excellent livre "Apprendre à programmer avec Python 3" de G.S. A la page "espaces de noms des classes et instances" il est écrit que :
--- Chaque classe possède son espace de noms (contenant les variables de classe), et chaque objet instance possède son espace de noms (contenant les variables d'instance).
--- Les instances peuvent utiliser, mais pas modifier, les variables de classe.
J'ai du mal à comprendre ce dernier point car en exécutant ce script :
... on constate que la variable Bidon.var1 a été modifiée par l'instance obj2.
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15 class Bidon(object): """essais de portée des variables""" var1 = 11 print(Bidon.var1) # Variable de classe ? obj1 = Bidon() obj1.var1 = 0 # Variable d'instance ? print(obj1.var1) # La variable d'instance est modifiée print(Bidon.var1) # et la variable de classe aussi obj2 = Bidon() # D'ailleurs les nouveaux objets ne sont plus print(obj1.var1) # instanciés avec la même valeur de var1
Partager