[Python-Dev] recursive closures - reference cycle

Greg Ewing greg.ewing at canterbury.ac.nz
Tue Dec 8 23:08:42 CET 2009


You could use a class:

   class factorial():

     def fac(self, n):
       if n == 0:
         return 1
       else:
         return n * self.fac(n - 1)

     def __call__(self, n):
       return self.fac(n)

   factorial = factorial()

   print factorial(5)

-- 
Greg



More information about the Python-Dev mailing list