Saltar al contenido

Mostrar objetos

Python · Unidad 12: Clases y objetos

Si imprimes un objeto tuyo, Python no sabe qué mostrar: sale algo como <__main__.Mascota object at 0x7f3a…>, su tipo y un número de memoria que cambia cada vez.

Si la clase tiene un método __str__ que regresa un texto, print muestra ese texto.

class Mascota:
    def __init__(self, nom):
        self.nom = nom

    def __str__(self):
        return "Soy " + self.nom

luna = Mascota("Luna")
print(luna)

Imprime

Soy Luna

El resto de la explicación está en la lección, que es del plan completo.

Ejercicios de esta lección

Se hacen en la app, que los corrige al momento y explica por qué.

  1. 1. Opción múltiple

    La clase Libro no tiene __str__. ¿Qué sale con print(libro)?

  2. 2. Predice la salida

    ¿Qué imprime este código?

  3. 3. Completa el código

    Completa para que imprima: 10 pesos

  4. 4. Encuentra el bug

    Este programa debería imprimir 5 km. ¿Qué línea tiene el error?

  5. 5. Completa el código

    Completa para que imprima: Mesa 4

  6. 6. Predice la salida

    ¿Qué imprime este código?

  7. 7. Predice la salida

    ¿Qué imprime este código?

  8. 8. Opción múltiple

    Si una clase tiene __repr__ pero no __str__, ¿qué muestra print con uno de sus objetos?

  9. 9. Encuentra el bug

    Este programa debería imprimir [Ficha(4), Ficha(9)]. ¿Qué línea tiene el error?

  10. 10. Predice la salida

    ¿Qué imprime este código?

Hacer esta lección

Se abre en el navegador. Esta lección es del plan completo; la primera unidad de cada curso es gratis.

Ver todas las lecciones →