¿Se puede sobrecargar el "print"?
David Picó Vila
dpico en dsic.upv.es
Mie Nov 10 17:20:13 CET 2004
Aaaah, me había perdido este hilo, sorry. A esto de que estais hablando
¿es muy propio llamarle sobrecarga del operador? Perdón por hablar sin
saber, pero ahora no recuerdo cómo le llaman en inglés en la
documentación de python. Viniendo de mentalidad C++ suena un poco raro,
porque realmente en Python no es que redefinas el operador '+', por
ejemplo, sino que defines un método __add__ para la clase y el
intérprete lo invoca cuando se encuentra una suma con objectos de esa
clase. En realidad el método __add__ no está sobrecargado para la clase,
porque sólo tiene una definición, ¿no?
En fin, que es lo mismo pero no es igual. No sé si lo he liado más.
David
Marcos Sánchez Provencio wrote:
> Puedes sobrecargar __str__ (conversión implícita a string) y __repr__
> (conversión implícita a legible, pero manteniendo la máxima información).
>
> soul escribió:
>
>> Estoy desarrollando una clase para trabajar con vectores ( los de las
>> mates de toda la vida :-P ). He sobrecargado los operadores +,- y * con
>> __add__,__sub__ y __mult__ respectivamente. Pero cuando hago:
>>
>> v=Vector(1,0,0)
>> print v
>>
>> Me devuelve
>> <__main__.Vector instance at 0xb7f9f50c>
>>
>> Me gustaría saber si se puede modificar el "print" para que cuando se
>> aplique sobre un objeto de esta clase devolviera la lista [1,0,0].
>>
>> Gracias
>> Soul
>>
>
------------ próxima parte ------------
_______________________________________________
Python-es mailing list
Python-es en aditel.org
http://listas.aditel.org/listinfo/python-es
Más información sobre la lista de distribución Python-es