Saltar al contenido

Propiedades

Python · Unidad 14: Clases modernas

Hay datos que no se guardan, se calculan: el área de un rectángulo sale de su ancho y su alto.

Con @property arriba de un método, ese método se usa como si fuera un atributo: r.area, sin paréntesis.

class Rect:
    def __init__(self, a, b):
        self.a = a
        self.b = b

    @property
    def area(self):
        return self.a * self.b

r = Rect(3, 4)
print(r.area)

Imprime

12

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 el diámetro se lea como un atributo.

  2. 2. Encuentra el bug

    El rectángulo mide 3 por 4, así que debería imprimir 12. ¿Qué línea tiene el error?

  3. 3. Predice la salida

    La compra eran 3 piezas de 20 y luego se cambió a 5. ¿Qué imprime?

  4. 4. Opción múltiple

    ¿Cuándo conviene una @property en vez de un atributo normal?

  5. 5. Completa el código

    El termo aguanta 500 ml. Completa para que imprima 500.

  6. 6. Predice la salida

    En la caja caben 10 piezas. ¿Qué imprime?

  7. 7. Encuentra el bug

    Debería imprimir 7, el nivel que se le asignó al tanque. ¿Qué línea tiene el error?

  8. 8. Predice la salida

    ¿Qué imprime este código?

  9. 9. Ordena las líneas

    Ordena para que imprima el área del cuadrado, 25.

  10. 10. Encuentra el caso que falla

    llenar(cap, litros) pone esos litros en un tanque de capacidad cap y regresa cuántos quedaron dentro: nunca más que la capacidad ni menos de 0. ¿Con qué llamada falla?

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 →