Problema al convertir a string con dev __str__(self)

Chema Cortés py en ch3m4.org
Sab Abr 8 00:47:05 CEST 2006


El Viernes, 7 de Abril de 2006 16:01, Jose Luis Dominguez NONLILLY escribió:
> Eso es lo que tengo implementado, pero la lista tiene más de 1000
> elementos, y no quería utilizar un bucle sino representar directamente le
> contenido de la lista. Esto es porque utilizo doctest() para realizar test
> automaticos, por lo que en un momento pruebo
> """ >>> print lista
> [Juan, Pedro, Antonio]
> """
> Mientras que si lo inteno hacer con un bucle
> """>>> for v in lista:
>         print v
>
> Juan
> Pedro
> Antonio
> """
> Me da error de compilación,
>
> for v in lista:
>                     ^
>      SyntaxError: unexpected EOF while parsing

Te falta poner puntos suspensivos a modo de continuación, similar a la salida 
que te daría en el intérprete de python:

"""
>>> for v in ["Juan", "Pedro", "Antonio"]:
...     print v
Juan
Pedro
Antonio
"""

> ¿A que método interno se llama para mostrar el contenido de un objeto en 
> una lista?

Como ya te ha respondido Luis Rodrigo, parece que necesitas añadir el método 
__repr__; aunque te quedaría mejor y más simple si la clase Persona heredara 
directamente de la clase 'str'.




Más información sobre la lista de distribución Python-es