Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import math
- class PropiedadTardia:
- def __init__(self, funcion):
- self.funcion = funcion
- def __get__(self, instancia, clase):
- if instancia is None:
- return None
- else:
- valor = self.funcion(instancia)
- setattr(instancia, self.funcion.__name__, valor)
- return valor
- class Circulo:
- def __init__(self, radio):
- self.radio = radio
- @PropiedadTardia
- def area(self):
- print('Computando el área...')
- return math.pi * self.radio ** 2
- @PropiedadTardia
- def perimetro(self):
- print('Computando el perímetro...')
- return 2 * math.pi * self.radio
- circulo = Circulo(3.0)
- print(circulo.radio)
- print(circulo.area)
- print(circulo.area)
- print(circulo.perimetro)
- print(circulo.perimetro)
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement