[Python-es] Clase heredada de float con varios argumentos
Juan José Gómez Romera
jjgomera en gmail.com
Mar Feb 7 22:49:50 CET 2012
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 <listas en 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 en 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/>
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20120207/c57c569b/attachment.html>
Más información sobre la lista de distribución Python-es