Gracias Oswaldo<br><br>No conocía __new__, que gran descubrimiento. Funciona perfecto, es lo que buscaba<br><br>Repito, muchas gracias<br><br><div class="gmail_quote">El 7 de febrero de 2012 21:57, Oswaldo <span dir="ltr"><<a href="mailto:listas@soft-com.es">listas@soft-com.es</a>></span> escribió:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Puedes heredar directamente de float y jugar con __new__<br>
<br>
>>> class floattime(float):<br>
... rates={"s": 1., "min": 60, "h": 60*60, "day": 60*60*24, "year": 60*60*24*365}<br>
... def __new__(cls, val, unit="s"):<br>
... return float.__new__(cls, val * cls.rates[unit])<br>
...<br>
>>><br>
>>> t1 = floattime(3, "day")<br>
>>> t1<br>
259200.0<br>
>>> type(t1)<br>
<class '__main__.floattime'><br>
>>><br>
>>> t1 + floattime(4, "h")<br>
273600.0<br>
<br>
<br>
Un saludo,<br><font color="#888888">
<br>
-- <br>
Oswaldo</font><div><div></div><div class="h5"><br>
______________________________<u></u>_________________<br>
Python-es mailing list<br>
<a href="mailto:Python-es@python.org" target="_blank">Python-es@python.org</a><br>
<a href="http://mail.python.org/mailman/listinfo/python-es" target="_blank">http://mail.python.org/<u></u>mailman/listinfo/python-es</a><br>
FAQ: <a href="http://python-es-faq.wikidot.com/" target="_blank">http://python-es-faq.wikidot.<u></u>com/</a><br>
</div></div></blockquote></div><br>