Home > Blog > Recursive Function in Python: Definition, Examples & Steps

Recursive Function in Python: Definition, Examples & Steps

👨‍🏫
Er. Kamlesh Tripathi
Senior Computer Trainer & Career Mentor with 13+ years of experience in Corporate IT & Skill Development Training
Helping students build job-ready skills in Data Analytics, Programming & IT Courses
📅 16 Oct 2026
Recursive function in Python with Fibonacci series example

📚 Table of Contents

    A recursive function in Python is a function that calls itself to solve a problem. It uses a base condition to stop recursion and a recursive case to break a problem into smaller subproblems. Common examples include factorial calculation, Fibonacci series, and countdown programs.

    📌 Quick Summary

    What Is a Recursive Function in Python? A recursive function in Python is a function that calls itself to solve a problem. Instead of solving the e...

    This article is written for beginners who want to learn and build a career in Recursive Function in Python: Definition, Examples & Steps.

    What Is a Recursive Function in Python?

    A recursive function in Python is a function that calls itself to solve a problem. Instead of solving the entire problem in one step, recursion divides it into smaller subproblems until a stopping condition is reached.

    Recursion is an important programming concept for beginners learning Python functions, problem-solving, and data structures.

    How Does Recursion Work in Python?

    A recursive function generally consists of two essential parts:

    1. Base Condition

    The base condition stops the recursive calls. Without a proper base condition, the function may continue calling itself until Python raises a RecursionError.

    2. Recursive Case

    The recursive case calls the same function again with a smaller or simpler input.

    Syntax of a Recursive Function

    def function_name(n):
        if base_condition:
            return result
        return function_name(smaller_input)

    Example 1: Countdown Using Recursion

    Let us create a simple recursive function that prints numbers from 5 to 1.

    def countdown(n):
        if n == 0:
            print("Done!")
            return
    
        print(n)
        countdown(n - 1)
    
    countdown(5)

    Output

    5
    4
    3
    2
    1
    Done!

    Step-by-Step Explanation

    1. The function starts with n = 5.
    2. It prints 5 and calls countdown(4).
    3. The next calls print 4, 3, 2, and 1.
    4. When n becomes 0, the base condition executes.
    5. The function stops making new recursive calls.

    Example 2: Fibonacci Series Using Recursion

    The Fibonacci series is a sequence in which each number is the sum of the previous two numbers. The series starts with 0 and 1.

    Example: 0, 1, 1, 2, 3, 5, 8, 13, 21, 34

    Python Program

    def fibonacci(n):
        if n <= 1:
            return n
    
        return fibonacci(n - 1) + fibonacci(n - 2)
    
    terms = int(input("Enter the number of terms: "))
    
    for i in range(terms):
        print(fibonacci(i), end=" ")

    Output

    Enter the number of terms: 10
    0 1 1 2 3 5 8 13 21 34

    Understanding the Fibonacci Function

    The function uses the following mathematical relationship:

    F(n) = F(n - 1) + F(n - 2)

    • fibonacci(0) returns 0.
    • fibonacci(1) returns 1.
    • fibonacci(2) returns fibonacci(1) + fibonacci(0), which equals 1.
    • fibonacci(3) returns fibonacci(2) + fibonacci(1), which equals 2.
    • fibonacci(4) returns fibonacci(3) + fibonacci(2), which equals 3.

    The base condition handles the first two values, while the recursive case calculates the remaining values.

    Example 3: Factorial Using Recursion

    The factorial of a positive integer is the product of all positive integers up to that number. For example, 5! = 5 × 4 × 3 × 2 × 1 = 120.

    Python Program

    def factorial(n):
        if n == 0 or n == 1:
            return 1
    
        return n * factorial(n - 1)
    
    print(factorial(5))

    Output

    120

    Step-by-Step Calculation

    factorial(5) = 5 × factorial(4)

    factorial(4) = 4 × factorial(3)

    factorial(3) = 3 × factorial(2)

    factorial(2) = 2 × factorial(1)

    factorial(1) = 1

    Therefore, 5 × 4 × 3 × 2 × 1 = 120.

    Advantages of Recursion

    • It can make some solutions shorter and easier to understand.
    • It is useful for tree traversal and certain divide-and-conquer algorithms.
    • It helps develop logical thinking and problem-solving skills.

    Disadvantages of Recursion

    • Each recursive call uses additional call-stack space.
    • Repeated calculations can make some recursive algorithms slow.
    • Missing or incorrect base conditions can cause a RecursionError.

    Important: The simple recursive Fibonacci implementation repeats many calculations. For larger inputs, an iterative approach or memoization is generally more efficient.

    Frequently Asked Questions (FAQs)

    1. What is recursion in Python?

    Recursion is a programming technique in which a function calls itself to solve a problem.

    2. What is a base condition in recursion?

    A base condition is the stopping condition that prevents further recursive calls.

    3. What is a recursive function example?

    Factorial calculation, Fibonacci series generation, and countdown programs are common examples of recursive functions.

    4. Can a recursive function work without a base condition?

    A recursive function should have a suitable stopping condition. Without one, recursive calls may continue until Python raises a RecursionError.

    5. What is the difference between recursion and iteration?

    Recursion solves a problem through function calls, whereas iteration repeats instructions using loops such as for and while.

    Practice Questions for Beginners

    1. Write a recursive function to print numbers from 1 to 10.
    2. Write a Python program to calculate the factorial of a number using recursion.
    3. Generate the first 10 Fibonacci numbers using recursion.
    4. Write a recursive function to calculate the sum of natural numbers.
    5. Explain the difference between recursion and iteration with examples.

    Conclusion

    Recursive functions are an important part of Python programming. By understanding the base condition and recursive case, beginners can solve problems such as factorial calculation, Fibonacci series generation, and countdown programs. Practising these examples helps build a strong foundation in programming logic.

    At KAiSH Computer Institute, Lucknow, students can strengthen their programming fundamentals through practical coding exercises and hands-on training.

    👉 Want to start your career? Join KAiSH Computer Institute today.