Gestion de variable de classe
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 8O
Quelqu'un aurait un idée ?
Voici le code
Code:
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 |