surcharge de float __new__
Bonjour à Tous,
après avoir consulté la FAQ,
je tente de surclasser un Float (à ma façon !!!!) en lui ajoutant des arguments
Code:
1 2 3 4 5 6 7 8 9 10 11
| class Val(float):
def __new__(self,n,Case=None,Z=0,Type="Max"):
self.Case=Case
self.Z=Z
return float.__new__(self,n)
>>> toto=Val(4,5,3)
>>> print toto,toto.Case,toto.Z
4.0 5 3 |
# jusque la, tous va bien !!!
par contre si je j'instance un nouvel objet :
Code:
1 2 3 4
|
>>> titi=Val(55,"d","f")
>>> print titi,titi.Case,titi.Z
55.0 d f |
Cela marche toujours, mais ...
Code:
1 2 3
|
>>> print toto,toto.Case,toto.Z
4.0 d f |
le premier n'est plus bon .....
Si quelqu'un peut m'expliquer .... je pensai avoir correctement encapsulé mes données ...