ma classe Python a des variables qui requièrent du travail pour calculer la première fois qu'elles sont appelées. Les appels suivants devraient simplement renvoyer la valeur précalculée.Façon pythonienne de ne fonctionner que la première fois qu'une variable est appelée
Je ne veux pas perdre de temps à faire ce travail à moins qu'ils ne soient réellement nécessaires à l'utilisateur. Y a-t-il un moyen propre de Pythonic pour implémenter ce cas d'utilisation?
Ma première pensée était d'utiliser la propriété() pour appeler une fonction pour la première fois, puis remplacer la variable:
class myclass(object):
def get_age(self):
self.age = 21 # raise an AttributeError here
return self.age
age = property(get_age)
Merci
Demandez-vous à propos de la mémo? http://en.wikipedia.org/wiki/Memoization. C'est un modèle de conception OO assez commun. –