decoradores y propiedades
Decoradores y propiedades
Section titled “Decoradores y propiedades”Decoradores
Section titled “Decoradores”Los decoradores permiten modificar el comportamiento de funciones o métodos sin cambiar su código directamente. Se usan para añadir lógica extra de forma ordenada.
Un decorador es una función que recibe otra función y devuelve una nueva.
Ejemplo básico:
def mi_decorador(funcion): def envoltura(): print("Antes") funcion() print("Después") return envoltura
@mi_decoradordef saludar(): print("Hola")
saludar()Aquí el decorador añade código antes y después de la función original.
Propiedades
Section titled “Propiedades”Las propiedades permiten acceder a métodos como si fueran atributos normales. Se usan sobre todo para controlar cómo se leen o modifican datos internos.
Se crean usando el decorador @property.
Ejemplo:
class Usuario: def __init__(self, edad): self.__edad = edad
@property def edad(self): return self.__edadAhora edad se puede usar como si fuera un atributo público.
Getters y Setters
Section titled “Getters y Setters”Un getter devuelve el valor de un atributo.
Un setter permite modificarlo aplicando reglas o validaciones.
Ejemplo completo:
class Usuario: def __init__(self, edad): self.__edad = edad
@property def edad(self): return self.__edad
@edad.setter def edad(self, valor): if valor >= 0: self.__edad = valorUso:
u = Usuario(20)print(u.edad)u.edad = 25Deleter
Section titled “Deleter”El deleter define qué ocurre cuando se elimina un atributo.
class Usuario: def __init__(self, edad): self.__edad = edad
@property def edad(self): return self.__edad
@edad.deleter def edad(self): print("Edad eliminada") del self.__edadUso:
del u.edad