Function
Function Python का ऐसा Code Block होता है जो किसी विशेष कार्य (Task) को करने के लिए बनाया जाता है। जब भी उसी कार्य की आवश्यकता होती है, हम Function को Call (बुला) कर सकते हैं। इससे बार-बार एक ही कोड लिखने की जरूरत नहीं पड़ती।
Function का उपयोग क्यों किया जाता है?
- कोड को बार-बार लिखने से बचाने के लिए किया जाता है।
- प्रोग्राम को छोटा और व्यवस्थित (Organized) बनाने के लिए किया जाता है।
- कोड को समझना और Maintain करना आसान होता है।
- Debugging (गलती ढूंढना) आसान हो जाती है।
- Reusability (दोबारा उपयोग) बढ़ती है।
Syntax :
def function_name():
# Function का Code
print("Hello Python")
function_name()
Syntax Explained :
| Keyword | Meaning |
|---|---|
def | नया Function बनाने के लिए |
function_name | Function का नाम |
() | Parameters लिखने के लिए |
: | Function की शुरुआत |
| Indentation | Function के अंदर का कोड |
function_name() | Function को चलाना (Call करना) |
Types of Function
- Built-in Function
- User-defined Function
1. Built-in Function
Built-in Function वे Functions होते हैं जो Python में पहले से बने होते हैं। इन्हें बनाने की आवश्यकता नहीं होती है , केवल उपयोग (Call) करना होता है।
Example :
print ("hello")
Important Built-in Function
| Function | कार्य |
|---|---|
print() | स्क्रीन पर आउटपुट दिखाता है |
input() | यूज़र से इनपुट लेता है |
len() | लंबाई (Length) बताता है |
type() | डेटा टाइप बताता है |
max() | सबसे बड़ी वैल्यू देता है |
min() | सबसे छोटी वैल्यू देता है |
sum() | सभी संख्याओं का योग करता है |
abs() | Absolute Value देता है |
round() | संख्या को Round करता है |
2. User-defined Function
User-Defined Function वह Function होता है जिसे Programmer (User) अपनी आवश्यकता के अनुसार स्वयं बनाता है। Python में इसे def कीवर्ड का उपयोग करके बनाया जाता है।
User-Defined Function का उपयोग क्यों किया जाता है?
- एक ही कोड को बार-बार लिखने से बचने के लिए किया जाता है।
- प्रोग्राम को छोटा और व्यवस्थित (Organized) बनाने के लिए किया जाता है।
- कोड को Reusable (दोबारा उपयोग) बनाने के लिए किया जाता है।
- Debugging और Maintenance आसान करने के लिए किया जाता है।
- बड़े प्रोग्राम को छोटे-छोटे भागों में बाँटने के लिए किया जाता है।
Syntax :
def function_name():
# Function Body
statements
function_name()
Example :
def hello():
print("Hello, Welcome to Python!")
hello()
Program Explained :
def hello():नया Function बनाया गया।print()Function के अंदर लिखा गया है।hello()लिखकर Function को Call किया गया।
3. Recursive Function
Recursive Function वह Function होता है जो अपने ही Function को बार-बार Call (स्वयं को Call) करता है, जब तक कि कोई Base Condition (रुकने की शर्त) पूरी न हो जाए।
Syntax :
def function_name(parameter):
if base_condition:
return value
else:
return function_name(parameter)
Example :
def countdown(n):
if n == 0: # Base Condition
print("Finished")
else:
print(n)
countdown(n - 1) # Function स्वयं को Call कर रहा है
countdown(5)
Program Explained :
countdown(5)Function Call होता है।5Print होता है।- फिर Function
countdown(4)को Call करता है। - यह प्रक्रिया तब तक चलती है जब तक
n = 0नहीं हो जाता। n = 0होने पर Base Condition True हो जाती है और Program रुक जाता है।
Recursive Function के उपयोग
- Factorial निकालना
- Fibonacci Series
- Tree Traversal
- Folder Search
- Graph Algorithms
- Mathematical Problems
Recursive Function के लाभ
- छोटा और साफ कोड होता है।
- Complex Problem को आसान बनाता है
- Tree और Graph जैसी संरचनाओं में उपयोगी होता है।
- Divide and Conquer Algorithms में उपयोग होता है।
Recursive Function की कमियाँ
- अधिक Memory उपयोग करता है।
- बहुत अधिक Recursion होने पर RecursionError आ सकता है।
- कई मामलों में Loop से धीमा होता है।
- Debug करना कठिन हो सकता है।
4. Lambda Function
Lambda Function एक Anonymous Function (बिना नाम वाला Function) होता है जिसे केवल एक लाइन में लिखा जाता है।
इसे lambda Keyword की मदद से बनाया जाता है।
Syntax :
lambda arguments : expression
Syntax Explained :
| भाग | Meaning |
|---|---|
lambda | Anonymous Function बनाने का Keyword |
arguments | Input Values |
: | Arguments और Expression को अलग करता है |
expression | जिस कार्य का परिणाम Return होगा |
Example :
square = lambda x: x * x
print(square(6))
Lambda Function कहाँ उपयोग होता है?
map()filter()sorted()reduce()- छोटे Mathematical Operations
- Temporary Functions
Lambda Function के लाभ
- केवल एक लाइन में लिखा जाता है।
- छोटा और सरल होता है।
- अलग Function बनाने की आवश्यकता नहीं होती।
map(),filter()औरsorted()के साथ बहुत उपयोगी है।
Lambda Function की कमियाँ
- केवल एक Expression लिख सकते हैं।
- बड़े Program के लिए उपयुक्त नहीं।
- Debug करना कठिन हो सकता है।
- Multiple Statements नहीं लिख सकते।
Function Argument in Python
Python में चार प्रकार के function parameter होते है |
- Default Argument
- Required Argument
- Keyword Argument
- Variable Number of Argument
1. Default Argument
जब Function बनाते समय Parameter को पहले से कोई Value दे दी जाती है, तो उसे Default Argument कहते हैं।
यदि Function Call करते समय Value नहीं दी जाती, तो वही Default Value उपयोग होती है।
Syntax :
def function_name(parameter="Default Value"):
# Code
Example :
def DefArg(num=5, str="Hello"):
print(num)
print(str)
print("Call1")
DefArg()
print("Call2")
DefArg(8)
print("Call3")
DefArg(8, "Hii")
2. Required Argument
Required Argument ऐसे Arguments होते हैं जिन्हें Function Call करते समय देना अनिवार्य होता है। यदि इन्हें नहीं दिया जाता, तो Python Error देता है।
Syntax :
def function_name(parameter1, parameter2):
# Code
function_name(argument1, argument2)
Example :
def ReqArg(num, str):
print(num)
print(str)
print("Call1")
ReqArg(5, "Hello World")
print("Call2")
ReqArg("Hello World", 5)
3. Keyword Argument
Keyword Argument वह Argument होता है जिसमें Function Call करते समय Parameter का नाम लिखकर Value दी जाती है।
इससे Arguments का क्रम (Order) बदलने पर भी Program सही तरीके से चलता है।
Syntax :
def function_name(parameter1, parameter2):
# Code
function_name(parameter1=value1, parameter2=value2)
Example :
def KeyArg(int, float, str):
print("int :",int)
print("float :",float)
print("String :",str)
print("Call1")
KeyArg(int=10, float=1.5, str="H")
print("Call2")
KeyArg(float=2.8, int=20, str="G")
print("Call3")
KeyArg(str="R", float=8.6, int=5)
4. Variable Number of Argument
किसी वक्त पर पता नहीं होता कि function पर कितने argument pass करने हैं | ऐसे वक्त पर “Number of Argument ” का महत्व काफी बढ़ जाता है | जब Number of argument का इस्तेमाल करना हो तो function के definition पर argument से पहले का इस्तेमाल किया जाता है | function definition पर दिया हुआ argument “tuple” जैसा होता है |
Source Code :
def MultiArg(*argTuple):
print(argTuple)
print(argTuple[0])
print(argTuple[1])
print(argTuple[2])
for i in argTuple:
print(i)
MultiArg(5, 10, "Hello")
