Bonjour,
Dans une classe, je choisis d'encapsuler un variable (dt). Je prépare un setter, un getter et une property pour donner accès à cette variable.
Je prépare également un __repr__ pour autoriser un print des objets instanciés.
Ensuite, j'instancie ma classe et je fais un print de mon nouvel objet => dt = 1
je modifie mon objet de la manière suivante : monObjet.dt = 2
Dans la fenêtre de commande, si je tape monObjet.dt j'obtiens 2mais si je tape print monObjet, j'obtiens 1
Quelqu'un aurait un idée ?
Voici le code
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
16
17
18
19
20
21
22
23
24
25
26 class bidon: def __init__ (self, dt=1): self.__dt=dt def __repr__(self): toPrint = "dt [s] :" + str(self.__dt) return toPrint def __set_dt(self, dt): self.__dt = float(dt) def __get_dt(self): return self.__dt dt = property(__get_dt, __set_dt, None, None) if __name__ == "__main__": toto = bidon() print toto toto.dt=2 print toto.dt print toto
Partager