associação pythonbrasil[11] django zope/plone planet Início Logado como (Entrar)

Seu texto de busca "linkto:"CacheDeMetodos"" não retornou nenhum resultado. Por favor mude os termos do texto, para mais informações veja HelpOnSearching.
(!) Considere fazer uma busca completa do texto com seus próprios termos.

Excluir mensagem

CacheDeMetodos

Classe de exemplo demonstrando um método simples de se fazer cache dos resultados dos métodos em uma classe.

   1 class Cache:
   2     def __init__(self):
   3         # cache do metodo fatorial()
   4         self.c_fatorial = {}
   5         
   6     def fatorial(self,  x):
   7         result = 0
   8         # verificando cache
   9         if x in self.c_fatorial.keys():
  10             return self.c_fatorial[x]
  11         # processamento normal
  12         if x <= 1:
  13             result = 1
  14         else:
  15             result = x * self.fatorial(x - 1)
  16         
  17         self.c_fatorial[x] = result
  18         return result
  19         
  20 # Evento principal
  21 if __name__ == '__main__':
  22     c = Cache()
  23     print c.fatorial(5) # aqui o fatorial é processado.
  24     print c.fatorial(5) # e aqui ele é obtido do cache.