Python allows us to condition the definition of a function. Since the function is defined during the execution of the code itself we can use a conditional statement in order to define the function that fits most.
recursive = True if recurcive: def factorial(n): print("within recursive factorial") if n==0: return 1 else: return factorial(n-1)*n else: def factorial(n): print("within simple factorial") index = 1 total = 1 while index<n: total *= index index+=1 return total print(factorial(3))
The following short video clip shows that.