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
@propertyhace quecelsiusse lea como un atributo común.- El setter valida antes de guardar.
fahrenheitse calcula fresco en cada lectura.
Palabras clave y builtins usados aquí
classdefifraisereturnself
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.
Paso 3 de 5 en Clases; paso 41 de 72 en Fundamentos del lenguaje.