Saltar al contenido

Métodos especiales

Python · Unidad 14: Clases modernas

Ya viste que __init__, __str__ y __eq__ los llama Python solo. Hay uno para cada cosa que quieras que tu objeto sepa hacer.

__len__ responde a len(objeto) y tiene que regresar un número entero.

class Mochila:
    def __init__(self):
        self.cosas = []

    def meter(self, c):
        self.cosas.append(c)

    def __len__(self):
        return len(self.cosas)

m = Mochila()
m.meter("libro")
m.meter("pluma")
print(len(m))

Imprime

2

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. Completa el código

    Completa para que len(b) diga cuántas cartas hay.

  2. 2. Predice la salida

    El envío lleva dos cajas, una de 2 piezas y otra de 3. ¿Qué imprime?

  3. 3. Encuentra el bug

    La baraja tiene 3 cartas, así que debería imprimir 3. ¿Qué línea tiene el error?

  4. 4. Predice la salida

    El grupo guarda alumnos, pero se busca por nombre. ¿Qué imprime?

  5. 5. Opción múltiple

    Una ruta con 4 paradas da len(ruta) igual a 3. ¿Qué está contando?

  6. 6. Predice la salida

    ¿Qué imprime este código?

  7. 7. Encuentra el bug

    Sumar los dos pagos debería imprimir Pago(monto=50). ¿Qué línea tiene el error?

  8. 8. Completa el código

    Completa para que imprima: Bolsa(kilos=8)

  9. 9. Ordena las líneas

    Ordena para que imprima: 2 True

  10. 10. Predice la salida

    Se juntan dos cajas en una tercera. ¿Qué imprime?

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 →