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

Você não tem permissão para executar esta ação.

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.