Gracias Oswaldo

No conocía __new__, que gran descubrimiento. Funciona perfecto, es lo que
buscaba

Repito, muchas gracias

El 7 de febrero de 2012 21:57, Oswaldo <lis...@soft-com.es> escribió:

>
> Puedes heredar directamente de float y jugar con __new__
>
> >>> class floattime(float):
> ...     rates={"s": 1., "min": 60, "h": 60*60, "day": 60*60*24, "year":
> 60*60*24*365}
> ...     def __new__(cls, val, unit="s"):
> ...         return float.__new__(cls, val * cls.rates[unit])
> ...
> >>>
> >>> t1 = floattime(3, "day")
> >>> t1
> 259200.0
> >>> type(t1)
> <class '__main__.floattime'>
> >>>
> >>> t1 + floattime(4, "h")
> 273600.0
>
>
> Un saludo,
>
> --
> Oswaldo
>
> ______________________________**_________________
> Python-es mailing list
> Python-es@python.org
> http://mail.python.org/**mailman/listinfo/python-es<http://mail.python.org/mailman/listinfo/python-es>
> FAQ: http://python-es-faq.wikidot.**com/<http://python-es-faq.wikidot.com/>
>
_______________________________________________
Python-es mailing list
Python-es@python.org
http://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a