typestar

Propiedades en Python

Sintaxis de atributo con poder de método: campos calculados y protegidos.

class Temperatura:
    def __init__(self, celsius=0):
        self._celsius = celsius

    @property
    def celsius(self):
        return self._celsius

    @celsius.setter
    def celsius(self, valor):
        if valor < -273.15:
            raise ValueError("bajo el cero absoluto")
        self._celsius = valor

    @property
    def fahrenheit(self):
        return self._celsius * 9 / 5 + 32

Cómo funciona

  1. @property hace que celsius se lea como un atributo común.
  2. El setter valida antes de guardar.
  3. fahrenheit se calcula fresco en cada lectura.

Palabras clave y builtins usados aquí

El intento, en números

Líneas
17
Caracteres a escribir
318
Tokens
75
Ritmo de tres estrellas
95 tpm

Al ritmo de tres estrellas de 95 tokens por minuto, este intento toma unos 47 segundos.

Escribe este fragmento

Paso 3 de 5 en Clases; paso 41 de 72 en Fundamentos del lenguaje.

← Anterior Siguiente →