recursive-call-intro
---
id: recursive-call-intro
title: What is Recursive Call?
description: Understanding the concept, pros, and cons of recursive functions
tags:
- Python
- Algorithm
- Recursive Call
sidebar_position: 2
isPublic: true
---
# What is Recursive Call?
`Recursion` refers to a function calling itself. It is often used to express mathematical functions like factorials and Fibonacci sequences.
```python title="Factorial Recursive Function Example"
def factorial(n):
if n == 0: # Base case
return 1 # Recursion ends
else: # Recursive call
return n * factorial(n-1) # Calls itself with n-1 as argument
# Example: Calculating factorial of 5
factorial_result = factorial(5)
print("factorial_result:", factorial_result) # factorial_result: 120
Recursive functions are useful for solving complex problems by breaking them down into simpler, repetitive tasks.
Base Case
Every recursive function needs a termination condition, known as the base case. The base case defines the stopping point of the recursion.
For instance, in the factorial
function above, the statement if n == 0
is the base case that ends the recursion.
This condition ensures that when n
becomes 0 or less, the function stops calling itself and terminates.
Pros and Cons of Using Recursion
Pros:
-
The code is cleaner and easier to understand.
-
It allows complex problems to be expressed concisely.
-
It is particularly useful for naturally implementing data structures and algorithms.
Cons:
-
Each function call uses memory, which may lead to higher memory usage.
-
If not implemented correctly, it can lead to infinite loops.
Want to learn more?
Join CodeFriends Plus membership or enroll in a course to start your journey.