Sylvain Ferriol wrote:
>>>>>class Toto(float):
....*****eq*=*float.__eq__
....
>>>>>Toto().eq(42)
False
i can not use it because:
class toto(float):
def*__init__(self,a=None):pass
t=toto(a=3)
TypeError: 'a' is an invalid keyword argument for this function
Override __new__() then:
>>class Toto(float):
.... def __new__(cls, a=None):
.... if a is None:
.... a = 42
.... return float.__new__(cls, a)
.... def __init__(cls, a=None):
.... print "random message containing", a
....
>>Toto()
random message containing None
42.0
>>Toto(42)
random message containing 42
42.0
Peter