mi clase Python tiene algunas variables que requieren trabajo para calcular la primera vez que se llaman. Las llamadas posteriores solo deben devolver el valor precalculado.Manera pitónica de trabajar solo la primera vez que se llama una variable
No quiero perder el tiempo haciendo este trabajo a menos que realmente lo necesite el usuario. Entonces, ¿hay una forma clara y ptónica para implementar este caso de uso?
Mi idea inicial era utilizar la propiedad() para llamar a una función del primer tiempo y luego anular la variable:
class myclass(object):
def get_age(self):
self.age = 21 # raise an AttributeError here
return self.age
age = property(get_age)
Gracias
¿Estás preguntando sobre la memorización? http://en.wikipedia.org/wiki/Memoization. Este es un patrón de diseño de OO bastante común. –