What is recursive function ?
Recursive function is a function that calls itself in order to create a loop
Example of recursive function
if number == 0:
return number + sum(number - 1) # calls itself , which loops
In the above sum()
is a recursive function which calls it self.
When we call the
function sum with an integer 5, it recursively calls itself
return number + sum(number -
, by decreasing number
passed to it by1
There is a condition
number == 0
, which checks the number
values each time it is called and returns 0
once it reaches 0.
This condition has to be kept to avoid the number to become negative and to
avoid the recursion to go to an infinite loop.
So the recursion function should have an
condition to terminate recursion and avoid infinite loop
The above recursion function
purpose can also be solved using python loops. Loops are faster than recursion
sum = 0
for i in range(5+1): # range(5+1) -> [0, 1, 2, 3, 4, 5]
sum += i
Advantages of recursive function
- Recursive functions make the code looks clean reducing the code size
- Recursive functions are extremely useful when applying the same solution
- Recursive functions reduce unnecessary calling of function.
Disadvantages of recursive function
- Recursive functions are not easy to debug
- Recursive functions takes more memory
- Recursive functions uses more processor time.