Function एक application का सबसे महत्वपूर्ण पहलू हैं। Function को reusable code के संगठित ब्लॉक (organize block) के रूप में परिभाषित किया जा सकता है, जिसे आवश्यकता पड़ने पर call किया जा सकता है।
Function in Python
पायथन हमें एक बड़े प्रोग्राम को Function के रूप में ज्ञात बेसिक बिल्डिंग ब्लॉक्स में विभाजित करने की अनुमति देता है। Function में प्रोग्रामिंग स्टेटमेंट का सेट {} द्वारा enclose होता है। पायथन प्रोग्राम को reusable और modular प्रदान करने के लिए Function को कई बार call किया जा सकता है।
Function प्रोग्रामर को प्रोग्राम को छोटे हिस्से में तोड़ने में मदद करता है। यह कोड को बहुत ही प्रभावी ढंग से व्यवस्थित करता है और कोड की repeat होने से बचाता है। जैसे-जैसे प्रोग्राम बढ़ता है, Function program को और अधिक व्यवस्थित बनाता है।
पायथन हमें range () या print() जैसे विभिन्न in built Function प्रदान करता है। हालाँकि, यूजर अपने Functions को बना भी सकता है, जिन्हें user-defined functions कहा जाता है।
Function मुख्यतः दो प्रकार के होते हैं।
User-define functions – User-define functions वे हैं जो यूजर द्वारा विशिष्ट कार्य को करने के लिए define किए जाते हैं।
Built-in functions – Built-in functions वे फंक्शन होते हैं जो पायथन में पहले से define होते हैं।
Advantage of Functions in Python
Python Functions के निम्नलिखित फायदे हैं।
- Functions का उपयोग करके, हम एक ही logic/code को प्रोग्राम में बार-बार लिखने से बच सकते हैं।
- हम प्रोग्राम में कहीं भी Python फंक्शन्स को कई बार call कर सकते हैं।
- हम पायथन के बड़े प्रोग्राम को आसानी से track कर सकते हैं जब इसे multiple functions में विभाजित किया जाता है।
- Reusable पायथन Functions की मुख्य उपलब्धि है।
- हालांकि, पायथन प्रोग्राम में Function calling हमेशा ओवरहेड होती है।
Creating a Function
पायथन Function को define करने के लिए def कीवर्ड प्रदान करता है। define Function का सिंटैक्स नीचे दिया गया है।
Syntax:
def my_function(parameters):
function_block
return expression
आइए Function Definition के Syntax को समझते हैं।
- Function को परिभाषित करने के लिए Function नाम के साथ def कीवर्ड का उपयोग किया जाता है।
- पहचानकर्ता को Function name के नियमों का पालन करना चाहिए।
- Function पैरामीटर (argument) को स्वीकार करता है, और यह optional हो सकते हैं।
- Function block को कोलन (:) से शुरू किया जाता है, और block statements एक ही इंडेंटेशन पर होना चाहिए।
- return statements का उपयोग value return करने के लिए किया जाता है। एक Function में केवल एक return हो सकता है|
Function Calling
पायथन में, Function बनने के बाद, हम इसे किसी अन्य Function से call कर सकते हैं। Function को call करने से पहले Function को define किया जाना चाहिए; अन्यथा, Python interpreter एक error देता है। Function को call करने के लिए, कोष्ठक के बाद Function name का उपयोग करें।
Example:
def hello_world():
print(“hello world”)
# function calling
hello_world()
Output:
hello world
The return statement
return statement का उपयोग function के अंत में किया जाता है जो function का result देता है। यह function execution को समाप्त करता है और उस result को transfer करता है जहां function को call किया जाता है। return statement का उपयोग function के बाहर नहीं किया जा सकता है।
Syntax
return [expression_list]
इसमें expression हो सकती है जिसका मूल्यांकन किया जाता है और value को caller function पर return कर दिया जाता है। यदि return statement का कोई expression नहीं है या function में स्वयं मौजूद नहीं है तो यह कोई भी ऑब्जेक्ट नहीं देता है।
Call by reference in Python
पायथन में, reference द्वारा call का अर्थ है actual value को function में argument के रूप में pass करना। सभी functions को reference द्वारा call किया जाता है, अर्थात, function के अंदर reference में किए गए सभी परिवर्तन reference द्वारा original value पर वापस लौट आते हैं।
Arguments in function
Argument information के प्रकार होते हैं जिन्हें function में pass किया जा सकता है। argument कोष्ठक (parentheses) में specified रहते हैं। हम कितने भी argument दे सकते हैं, लेकिन उन्हें अल्पविराम से अलग करना पड़ता हैं|
निम्नलिखित उदाहरण पर विचार करें, जिसमें एक function है जो एक स्ट्रिंग को argument के रूप में accept करता है।
Example
#defining the function
def func (name):
print(“Hi “,name)
#calling the function
func(“Devansh”)
Output:
Hi Devansh
Types of Function Arguments
Python Functions में कई प्रकार के arguments हो सकते हैं जिन्हें function call के समय pass किया जा सकता है।
- Required arguments
- Keyword arguments
- Default arguments
- Variable-length arguments
1. Required Arguments
अब तक, हमने पायथन में फंक्शन कॉलिंग के बारे में सीखा। हालाँकि, हम function call के समय argument प्रदान कर सकते हैं। जहां तक required argument का संबंध है, ये वे argument हैं जिन्हें function call के समय function call और function definition में उनकी position के exact match के साथ pass करने की आवश्यकता होती है। यदि function call में कोई भी argument प्रदान नहीं किया गया है, या argument की position बदल दी गई है, तो Python interpreter त्रुटि (error) दिखाएगा।
Example
def func(name):
message = “Hi “+name
return message
name = input(“Enter the name:”)
print(func(name))
Output:
Enter the name: Ram
Hi Ram
2. Default Arguments
पायथन हमें function definition पर argument को आरंभ करने की अनुमति देता है। यदि function call के समय कोई भी argument की value प्रदान नहीं की जाती है, तो उस argument को definition में दी गई value के साथ प्रारंभ किया जा सकता है, भले ही argument, function call पर निर्दिष्ट (specified) न हो।
Example
def printme(name,age=20):
print(“My name is”,name,”and age is”,age)
printme(name = “Shiva”)
Output:
My name is Shiva and age is 20
3. Variable-length Arguments (*args)
बड़े प्रोजेक्ट्स में, कभी-कभी हम पहले से pass किए जाने वाले argument की संख्या नहीं जान पाते हैं। ऐसे मामलों में, पायथन हमें अल्पविराम से अलग की गई value की पेशकश करने के लिए flexibility प्रदान करता है जिन्हें आंतरिक रूप से function call पर tuples के रूप में माना जाता है। variable-length arguments का उपयोग करके, हम किसी भी संख्या में argument pass कर सकते हैं।
हालांकि, function definition पर, हम *args (star) का उपयोग करके *<variable – name> के रूप में variable-length argument को define कर करते हैं।
4. Keyword arguments(**kwargs)
पायथन हमें function को keyword arguments के साथ call करने की अनुमति देता है। इस प्रकार function call हमें arguments को random order में pass करने में सक्षम बनाती है।
arguments के नाम को कीवर्ड के रूप में जाना जाता है और function calling और definition में मिलान किया जाता है। यदि समान मिलान पाया जाता है, तो arguments की value को function definition में कॉपी किया जाता हैं।
Scope of variables
variables का दायरा उस स्थान पर निर्भर करता है जहां variable को declare किया जा रहा है। प्रोग्राम के एक भाग में declare variable अन्य भागों के लिए सुलभ नहीं हो सकता है।
पायथन में, variable को दो प्रकार के स्कोप के साथ परिभाषित किया गया है।
- Global variables
- Local variables
किसी फ़ंक्शन के बाहर define variable को Global scope के लिए जाना जाता है, जबकि किसी फ़ंक्शन के अंदर define variable को local scope के लिए जाना जाता है।