First Class Function in Python | Functions को Variable में कैसे Store करें? | Python Hindi
Python First Class Function
Python में Functions को सिर्फ code execute करने के लिए ही नहीं, बल्कि values की तरह भी treat किया जा सकता है। इसी property को First Class Function कहा जाता है।
इसका मतलब है कि Function को variable में store किया जा सकता है, दूसरे function में argument की तरह pass किया जा सकता है, और किसी function से return भी किया जा सकता है — बिल्कुल किसी number या string की तरह।
अगर आपने अभी Functions Basics नहीं पढ़ा है, तो पहले Python Functions Basics in Hindi पढ़ें। Examples खुद run करने के लिए हमारा Online Python Editor & Compiler use कर सकते हैं।
First Class Function क्या है?
Python में Functions First Class Objects होते हैं। इसका मतलब है:
- Function को किसी variable में store किया जा सकता है
- Function को दूसरे function में argument की तरह pass किया जा सकता है
- Function को किसी function से return किया जा सकता है
- Function को list, dictionary जैसे data structures में भी रखा जा सकता है
सरल भाषा में — Python में Function एक normal value की तरह ही behave करता है।
Function को Variable में Store करना
Python में function को उसी तरह variable में assign किया जा सकता है जैसे किसी number या string को assign करते हैं।
ध्यान दें — यहाँ greet() नहीं लिखा, सिर्फ greet लिखा है। () लगाने से function turant execute हो जाता, लेकिन हमें उसे सिर्फ refer करना है।
Variable के जरिए Function को Call करना
अब जिस variable में function store किया गया है, उसी से function को call किया जा सकता है।
Output:
my_function() लिखने पर वही code execute होता है जो greet() के अंदर है, क्योंकि my_function उसी function को refer कर रहा है।
function और function() में Difference
यह beginners के लिए सबसे common confusion है।
| Syntax | मतलब |
|---|---|
greet | Function object को refer करना (call नहीं हो रहा) |
greet() | Function को execute करना |
यह greet() को तुरंत execute कर देगा और उसका result (यहाँ None) my_function में store हो जाएगा — function खुद store नहीं होगा।
Function को दूसरे Function में Argument की तरह Pass करना
Function को किसी दूसरे function में parameter की तरह भी भेजा जा सकता है।
Output:
execute_function(greet) में greet function को argument की तरह pass किया गया, और execute_function() के अंदर func() लिखकर उसे call किया गया।
Multiple Functions को Pass करना
Output:
execute() function को पहले से नहीं पता कि कौन सा function मिलेगा — जो भी function argument में दिया जाएगा, वही execute होगा। यही First Class Function की असली power है।
Function को Return करना
Python में एक function दूसरे function को return भी कर सकता है।
Output:
get_function() ने greet function को return किया, जिसे my_function में store करके फिर call किया गया।
return greet और return greet() एक जैसे नहीं हैं। पहला function को return करता है, दूसरा function को execute करके उसका result return करता है।
Function और Function Call में Difference
एक बार फिर इस difference को clearly समझते हैं, क्योंकि यह पूरे concept की नींव है।
Output:
reference = show लाइन से कुछ print नहीं होता, क्योंकि यहाँ सिर्फ function को refer किया गया है। Output सिर्फ show() से आता है, जहाँ function actually call हुआ।
Practical Example — Calculator
First Class Function की power को एक practical calculator example से समझते हैं।
Output:
यहाँ add और subtract दोनों functions को values की तरह calculate() में pass किया गया — यही First Class Function का practical फायदा है।
VS Code में Live Coding
अगर आप इसे VS Code में खुद try करना चाहते हैं, तो एक नई file first_class.py बनाइए और यह code लिखिए:
File save करके VS Code के Terminal में इसे run कीजिए।
Terminal में Actual Output
ऊपर वाली file को terminal में run करने पर output कुछ इस तरह दिखेगा:
दोनों बार "Hello Python!" print हुआ — पहली बार my_function() से, और दूसरी बार execute(greet) के अंदर func() call होने से।
Common Mistakes
यह function को refer करने की जगह उसे तुरंत execute कर देगा।
greet() पहले ही execute हो जाएगा और उसका result execute() को मिलेगा — function खुद pass नहीं होगा।
Quick Example — सब कुछ एक साथ
Output:
Exercise ?
Function को बिना execute किए किसी variable में store करने के लिए क्या लिखा जाता है?
Final Coding Challenge
अब खुद अपने Online Python Editor या VS Code में यह challenge solve कीजिए:
- एक
square(n)function बनाइए जो किसी number का square return करे। - एक
cube(n)function बनाइए जो किसी number का cube return करे। - एक
apply(func, value)function बनाइए जो दिया गया function किसी value पर apply करे और result return करे। squareऔरcubeदोनों कोapply()में pass करके result print कीजिए।- एक
choose_function(name)function बनाइए जो"square"या"cube"नाम के आधार पर सही function return करे।
Quick Revision
| Concept | मतलब |
|---|---|
| First Class Function | Function को value की तरह treat करना |
| Function Store | variable = function_name |
| Function Call | function_name() |
| Function as Argument | execute(function_name) |
| Function Return | return function_name |
FAQ
Python में First Class Function क्या है?
First Class Function वह property है जिसमें function को value की तरह treat किया जा सकता है — यानी variable में store, argument की तरह pass, और return किया जा सकता है।
function और function() में क्या फर्क है?
function सिर्फ function object को refer करता है, जबकि function() उसे execute करता है।
क्या हर Python function First Class Function होता है?
हाँ। Python में हर function by default एक first-class object होता है — इसके लिए कोई special syntax नहीं चाहिए।
Function को variable में store करने का फायदा क्या है?
इससे function को dynamically चुना जा सकता है, दूसरे functions को pass किया जा सकता है, और code ज्यादा flexible और reusable बनता है।
Summary
Python में Function एक value है — इसे store करो, pass करो, या return करो।
इस article में आपने सीखा कि First Class Function क्या होता है, function को variable में कैसे store करें, variable से function कैसे call करें, function को argument की तरह कैसे pass करें, function को कैसे return करें, और function व function() में क्या difference है।
यह concept Python के आगे के advanced topics — जैसे Lambda Function, Decorators, और Higher-Order Functions — को समझने की नींव है। अब ऊपर दिया गया coding challenge खुद VS Code या Online Editor में solve करें।
कोई टिप्पणी नहीं:
एक टिप्पणी भेजें