[Python-Dev] recursive closures - reference cycle (original) (raw)

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