Python Inner Functions in Hindi | Function inside Function Tutorial
Python Inner Functions
Python में हम function के अंदर सिर्फ code ही नहीं, बल्कि दूसरा function भी define कर सकते हैं। जब किसी function के अंदर एक और function बनाया जाता है, तो उसे Inner Function (या Nested Function) कहा जाता है।
यह concept थोड़ा unusual लग सकता है, लेकिन real-world programming में इसका इस्तेमाल code को organize करने और किसी logic को सिर्फ एक जगह तक सीमित रखने के लिए किया जाता है।
अगर आपने अभी Functions Basics नहीं पढ़ा है, तो पहले Global vs Local Variables in Python पढ़ना उपयोगी रहेगा, क्योंकि Inner Function को समझने के लिए scope का concept जानना जरूरी है। Examples खुद run करने के लिए हमारा Online Python Editor & Compiler use कर सकते हैं।
Inner Function क्या है?
जब किसी function के अंदर एक और function define किया जाता है, तो उस अंदर वाले function को Inner Function कहते हैं।
सरल भाषा में — Function के अंदर बना हुआ function ही Inner Function है।
Output:
Function के अंदर Function कैसे बनाते हैं?
Inner function बनाने के लिए, outer function के body के अंदर ही def keyword से एक और function define कर दिया जाता है — बिल्कुल उसी तरह जैसे normal function बनाते हैं, बस इसे किसी दूसरे function के अंदर रखा जाता है।
Outer Function और Inner Function क्या होते हैं?
| Term | मतलब |
|---|---|
| Outer Function | बाहर वाला function, जिसके अंदर दूसरा function define किया गया है |
| Inner Function | Outer function के अंदर बना हुआ function |
Output:
Inner Function को Call कैसे करें?
Inner function को सिर्फ outer function के अंदर से ही call किया जा सकता है, क्योंकि यह outer function के local scope में define होता है।
Output:
Outer function के बाहर से inner() को directly call नहीं किया जा सकता, क्योंकि वह outer function के scope से बाहर existing ही नहीं करता।
Inner Function में Arguments का उपयोग
Inner function भी normal function की तरह arguments ले सकता है।
Output:
यहाँ inner() को अपना argument greeting मिला, और outer के parameter name को भी access कर लिया।
Inner Function से Value Return करना
Inner function भी किसी normal function की तरह return statement से value वापस दे सकता है।
Output:
यहाँ inner() ने calculation करके result return किया, और outer function ने उस result को आगे return कर दिया।
एक Outer Function में Multiple Inner Functions
एक ही outer function के अंदर एक से ज्यादा inner functions भी बनाए जा सकते हैं।
Output:
दोनों inner functions add() और subtract() outer function के parameters a और b को access कर पाए।
Inner Function द्वारा Outer Function के Variable को Access करना
Inner function अपने outer function के variables को directly read कर सकता है, बिना उन्हें फिर से पास किए।
Output:
nonlocal keyword की जरूरत पड़ती है — यह concept आगे Closures और Decorators में detail में समझाया जाएगा।
Inner Function का Basic Scope
Inner function का scope outer function के अंदर तक ही सीमित होता है — यही scope की सबसे जरूरी बात है।
| क्या हो सकता है? | संभव है क्या |
|---|---|
| Inner function, outer के variables को read कर सकता है | हाँ |
| Outer function, inner के अंदर बने local variables को access कर सकता है | नहीं |
| Inner function को outer के बाहर से directly call किया जा सकता है | नहीं |
| एक outer function में multiple inner functions हो सकते हैं | हाँ |
Inner function के अंदर बना value variable सिर्फ inner() के अंदर ही accessible है — outer function उसे access नहीं कर सकता।
Practical Example — Discount Calculator
Output:
यहाँ apply_discount() एक inner function है जो outer function के price variable को access करके discount calculate कर रहा है।
Practical Example — Validation Logic को अलग रखना
Output:
यहाँ is_valid() जैसा छोटा helper logic सिर्फ process_marks() के अंदर ही जरूरी है, इसलिए उसे inner function बना दिया गया — बाहर से इस्तेमाल करने की जरूरत नहीं।
Common Beginner Mistakes
यहाँ inner() outer function के अंदर नहीं है, क्योंकि indentation match नहीं हो रहा — यह एक normal, अलग function है।
Outer variable को सिर्फ read करना ठीक है, लेकिन उसे modify करने के लिए nonlocal keyword की जरूरत होती है, जो एक advanced concept है।
Exercise ?
Inner Function को किस जगह से call किया जा सकता है?
Coding Challenges
अब खुद अपने Online Python Editor में इन challenges को solve कीजिए:
- एक outer function बनाइए जिसके अंदर एक inner function हो जो
"Hello from Inner!"print करे। - एक outer function बनाइए जो दो numbers ले, और एक inner function उनका multiplication करके return करे।
- एक outer function के अंदर दो inner functions बनाइए — एक square निकाले, दूसरा cube निकाले।
- एक outer function बनाइए जिसमें एक variable हो, और inner function उस variable को access करके print करे।
- एक
bill_calculator(amount)function बनाइए जिसके अंदर एक inner functionadd_tax()हो, जो 18% tax जोड़कर final amount return करे।
Quick Revision
| Concept | Meaning |
|---|---|
| Inner Function | किसी function के अंदर define किया गया function |
| Outer Function | वह function जिसके अंदर inner function मौजूद है |
| Call करने का तरीका | सिर्फ outer function के अंदर से |
| Outer Variable Access | Read किया जा सकता है, बिना extra code के |
| Outer Variable Modify | nonlocal keyword चाहिए |
FAQ
Python में Inner Function क्या है?
Inner Function वह function है जो किसी दूसरे function (outer function) के अंदर define किया जाता है।
क्या Inner Function को outer function के बाहर से call कर सकते हैं?
नहीं। Inner Function outer function के local scope में होता है, इसलिए उसे सिर्फ outer function के अंदर से ही call किया जा सकता है।
क्या Inner Function, Outer Function के variables को access कर सकता है?
हाँ। Inner Function अपने outer function के variables को directly read कर सकता है। उन्हें modify करने के लिए nonlocal keyword की जरूरत होती है।
एक Outer Function में कितने Inner Functions हो सकते हैं?
एक outer function के अंदर जरूरत के अनुसार एक से ज्यादा inner functions define किए जा सकते हैं।
Inner Function इस्तेमाल करने का फायदा क्या है?
Inner Function से helper logic को उसी function तक सीमित रखा जा सकता है, जिससे code organized रहता है और बाकी program में unnecessary functions नहीं बनते।
Summary
Inner Function = किसी function के अंदर बना हुआ छोटा function, जो सिर्फ उसी के अंदर काम आता है।
इस article में आपने सीखा कि Inner Function क्या है, इसे कैसे बनाते और call करते हैं, इसमें arguments और return कैसे काम करते हैं, एक outer function में multiple inner functions कैसे बनाए जाते हैं, और inner function outer के variables को कैसे access करता है।
Inner Functions code को organize रखने और किसी logic को सिर्फ जरूरी जगह तक सीमित रखने का अच्छा तरीका हैं। यह concept आगे चलकर Closures और Decorators को समझने की नींव भी बनता है। अब ऊपर दिए गए coding challenges खुद अपने Online Editor में solve करें।

कोई टिप्पणी नहीं:
एक टिप्पणी भेजें