Python me Recursion kya hota hai?


Recursion ek aisi technique hai jisme function khud apne aap ko call karta hai. Jaise aap ek darwaza kholte hain aur andar jaate hain, phir aur ek darwaza, phir aur — jab tak aakhri kamra na aaye. Wapas aate waqt har darwaza band karte jaate hain. Exactly yahi Recursion me hota hai.

Har recursive function me 2 zaroori cheezein honi chahiye :-

Is page me yeh sab sikhenge :-



1. Recursion Kaise Kaam Karta Hai?

Recursion me function har baar chhoti problem ke saath apne aap ko call karta hai, jab tak base case na aa jaye. Phir sab answers wapas aate hain (unwind).

Syntax
def recursive_function(problem):
    if base_case:          # yahan rukna hai
        return answer
    else:
        return recursive_function(smaller_problem)  # apne aap ko call

Example 1: Simple countdown — recursion ka flow samjho

Python
In [1]:
1
Output

Example 2: Call trace — recursion ka flow step by step dekhna

Python
In [1]:
1
Output


2. Factorial — Classic Recursion Problem

Factorial ka matlab hai ek number ko usse chhote saare numbers se multiply karna. n! = n × (n-1) × (n-2) × ... × 1
Jaise: 5! = 5 × 4 × 3 × 2 × 1 = 120

Example 1: Factorial — recursion se

Python
In [1]:
1
Output

Example 2: Factorial ka step-by-step execution — 5! kaise calculate hota hai

Python
In [1]:
1
Output


3. Fibonacci Series

Fibonacci series me har number, usse pehle ke do numbers ka sum hota hai. 0, 1, 1, 2, 3, 5, 8, 13, 21, 34...
Formula: fib(n) = fib(n-1) + fib(n-2)

Example 1: Fibonacci — recursion se nth number nikalna

Python
In [1]:
1
Output

Example 2: Pehle N Fibonacci numbers print karna

Python
In [1]:
1
Output


4. Sum of Digits

Kisi number ke saare digits ka sum nikalna recursion se — jaise 1234 → 1 + 2 + 3 + 4 = 10.

Example 1: Digits ka sum — recursion se

Python
In [1]:
1
Output

Example 2: Power function — recursion se a^b nikalna

Python
In [1]:
1
Output


5. String Reverse Karna

String ko recursion se reverse karna — pehla character end me daalo aur baaki string ko recursion se reverse karo.

Example 1: String reverse — recursion se

Python
In [1]:
1
Output

Example 2: Palindrome check — recursion se

Python
In [1]:
1
Output


6. Recursion vs Loop — Kab Kaun?

Recursion aur Loop dono same kaam kar sakte hain — lekin dono ke apne apne advantages hain.

FeatureRecursionLoop
Code lengthChhota, elegantThoda lamba
SpeedRelatively slowFast
MemoryStack use karta hai (zyada)Kam memory
SamajhnaThoda mushkilAasaan
Best forTree, graph, divide & conquerSimple repetition

Example 1: Factorial — Loop vs Recursion

Python
In [1]:
1
Output


7. RecursionError — Jab Base Case Bhool Jaayein

Agar base case nahi likha ya galat likha, toh function infinite baar call hota rehta hai aur Python ek RecursionError deta hai — "maximum recursion depth exceeded".

Example 1: RecursionError — base case missing

Python
In [1]:
1
Output

Example 2: Python ka default recursion limit dekhna

Python
In [1]:
1
Output



Quick Summary — Recursion ek nazar me

ConceptMatlabExample
RecursionFunction apne aap ko call karta haidef f(n): return f(n-1)
Base CaseRecursion kahan rukegiif n == 0: return 1
Recursive CaseChhoti problem se callreturn n * f(n-1)
Factorialn! = n × (n-1)!factorial(5) = 120
Fibonaccifib(n) = fib(n-1) + fib(n-2)0,1,1,2,3,5,8...
RecursionErrorBase case nahi — infinite loopmax depth exceeded
StackHar call memory me store hoti haiCall Stack