目次
- 1 1. Python मा def भनेको के हो
- 2 2. def को आधारभूत वाक्यविन्यास र प्रयोग तरिका
- 3 3. फङ्क्शनका आर्गुमेन्टहरू र पूर्वनिर्धारित मान
- 4 4. return कथनबाट मान फर्काउने
- 5 5. चलहरूको स्कोप र जीवनकाल
- 6 6. व्यावहारिक उदाहरण र प्रयोग गर्ने तरिका
- 7 7. उन्नत फङ्क्शनका अवधारणाहरू
- 8 8. सारांश
- 9 9. प्रायः सोधिने प्रश्नहरू (FAQs)
1. Python मा def
भनेको के हो
Python मा def
कुञ्जीशब्द फंक्शन परिभाषित गर्न प्रयोग हुन्छ। फंक्शनले कोडको पुन: प्रयोगयोग्यता बढाउँछ र कार्यक्रमलाई अझ व्यवस्थित बनाउन मद्दत गर्ने आधारभूत संरचना हो। def
प्रयोग गरेर, विशिष्ट कार्यहरू समेटिएको ब्लक तयार गरी पटकपटक प्रयोग गर्न सकिन्छ। यसले कोडको पढ्नयोग्यता सुध्रिन्छ र बगको सम्भावना घट्छ।def
कुञ्जीशब्दको आधारभूत सिन्ट्याक्स
आधारभूत सिन्ट्याक्स यस प्रकार छ:def फंक्शननाम(तर्क1, तर्क2, ...):
प्रक्रिया
return फिर्ता मान
def
पछि फंक्शनको नाम लेखिन्छ, र कोष्ठकभित्र आवश्यक तर्कहरू निर्दिष्ट गरिन्छ। त्यसपछि, कोलनपछि इन्डेन्ट गरिएको ब्लकमा प्रक्रियाको विवरण लेखिन्छ। आवश्यक परे, return
स्टेटमेन्टबाट मान फर्काउन सकिन्छ।2. def
को आधारभूत वाक्यविन्यास र प्रयोग तरिका
मूलभूत फंक्शन परिभाषा गर्ने तरिका
def
कीवर्ड प्रयोग गरेर फंक्शन परिभाषित गर्दा, फंक्शनको नाम, आर्गुमेन्टहरूको सूची, र त्यसले गर्ने कार्यको विवरण लेखिन्छ। उदाहरणका लागि, तलको कोड ‘Hello, World!’ प्रिन्ट गर्ने आधारभूत फंक्शनको उदाहरण हो।def say_hello():
print("Hello, World!")
यो फंक्शनलाई say_hello()
भनेर कल गर्दा, कन्सोलमा ‘Hello, World!’ देखाउँछ।इन्डेन्टेशनको महत्त्व
Python मा इन्डेन्टेशन अत्यन्त महत्वपूर्ण हुन्छ। फंक्शनको भित्र लेखिने सबै कोड एउटै स्तरको इन्डेन्टेशनमा लेखिनुपर्छ। इन्डेन्टेशनले कोडका तह र ब्लक छुट्याउने भएकाले, इन्डेन्टेशनमा भएको गल्ती त्रुटिको कारण बन्छ।फंक्शन कल
परिभाषित फंक्शनलाई फंक्शनको नामसँग कोष्ठक जोडेर कल गरिन्छ। आर्गुमेन्टहरू भए, तिनीहरूलाई कोष्ठकभित्र निर्दिष्ट गरिन्छ।say_hello()

3. फङ्क्शनका आर्गुमेन्टहरू र पूर्वनिर्धारित मान
स्थानगत आर्गुमेन्ट र कुञ्जीशब्द आर्गुमेन्ट
फङ्क्शनले आर्गुमेन्ट लिन सक्छ, र ती आर्गुमेन्टहरू स्थानगत आर्गुमेन्ट र कुञ्जीशब्द आर्गुमेन्टमा विभाजित हुन्छन्। स्थानगत आर्गुमेन्टहरू क्रमअनुसार पास गरिन्छन्, र फङ्क्शन कल गर्दा निर्दिष्ट गरिएको क्रममै प्रशोधन हुन्छ। कुञ्जीशब्द आर्गुमेन्ट भनेको नामसहित निर्दिष्ट गरिने आर्गुमेन्ट हो, जसलाई फङ्क्शन कल गर्दा क्रमको पर्वाह नगरी पास गर्न सकिन्छ।def greet(name, greeting="Hello"):
print(f"{greeting}, {name}!")
माथिको फङ्क्शनमा、greeting
मा पूर्वनिर्धारित मान सेट गरिएको छ, र greet("Alice")
भनेर कल गर्दा “Hello, Alice!” आउटपुट हुन्छ。परिवर्तनीय लम्बाइका आर्गुमेन्ट
कतिपय अवस्थामा, फङ्क्शनले परिवर्तनशील सङ्ख्याका आर्गुमेन्ट लिन आवश्यक पर्न सक्छ। Python मा,*args
र **kwargs
प्रयोग गरेर परिवर्तनीय लम्बाइका आर्गुमेन्ट पास गर्न सकिन्छ।def print_args(*args):
for arg in args:
print(arg)
print_args(1, 2, 3)
यस उदाहरणमा, *args
ले सबै आर्गुमेन्टहरू ट्युपलको रूपमा स्वीकार गर्छ।4. return
कथनबाट मान फर्काउने
return
कथनको प्रयोग गर्ने तरिका
यदि फलनले गणना गरेको मान फर्काउन चाहनुहुन्छ भने, return
कथन प्रयोग गर्नुहोस्। return
कथन नभएमा, फलनले पूर्वनिर्धारित रूपमा None
फर्काउँछ।def add(a, b):
return a + b
result = add(3, 4)
print(result) # 7
यो add
फलनले दुईवटा संख्याको योग फर्काउँछ। return
कथनले फलनबाट मान फर्काएर त्यसलाई चलमा सुरक्षित गर्न सकिन्छ।एकभन्दा बढी मान फर्काउने
Python मा, फलनले एकभन्दा बढी मान पनि फर्काउन सक्छ। कमाले छुट्याएर फर्काउँदा, तिनीहरूलाई ट्युपलका रूपमा एकैचोटि फर्काउन सकिन्छ।def swap(a, b):
return b, a
x, y = swap(1, 2)
print(x, y) # 2 1
5. चलहरूको स्कोप र जीवनकाल
स्थानीय चल र ग्लोबल चल
फङ्क्शन भित्र परिभाषित गरिएका चलहरूलाई स्थानीय चल भनिन्छ, र ती केवल त्यही फङ्क्शन भित्र मात्र प्रयोग गर्न सकिन्छ। फङ्क्शन बाहिर परिभाषित गरिएका चलहरूलाई ग्लोबल चल भनिन्छ, र तिनीहरूलाई पूरै कार्यक्रमभर प्रयोग गर्न सकिन्छ।x = "global"
def func():
x = "local"
print(x)
func() # local
print(x) # global
यस उदाहरणमा, फङ्क्शनfunc
भित्र परिभाषित गरिएको x
स्थानीय चल हो, र फङ्क्शनको बाहिर यसको प्रभाव पर्दैन।global
किवर्ड
यदि फङ्क्शन भित्रबाट ग्लोबल चल परिवर्तन गर्न चाहनुहुन्छ भने, global
किवर्ड प्रयोग गर्नुहोस्।x = "global"
def change_global():
global x
x = "changed"
change_global()
print(x) # changed
6. व्यावहारिक उदाहरण र प्रयोग गर्ने तरिका
फङ्क्शन प्रयोग गरेर कार्यक्रमको कार्यक्षमता बढाउने
फङ्क्शन प्रयोग गर्दा, तपाईं कार्यक्रमको कार्यक्षमता निकै हदसम्म बढाउन सक्नुहुन्छ। उदाहरणका लागि, पटक-पटक दोहोरिने गणना वा डाटाको प्रशोधनलाई फङ्क्शनमा समेट्दा, कोडको पुनरावृत्ति टार्न सकिन्छ।def calculate_area(radius):
return 3.14 * radius * radius
area1 = calculate_area(5)
area2 = calculate_area(10)
यस उदाहरणमा, वृत्तको क्षेत्रफल गणना गर्ने फङ्क्शन calculate_area
परिभाषित गरिन्छ, र आवश्यकताअनुसार जति पटक पनि प्रयोग गर्न सकिन्छ।फङ्क्शनको उपयोगका उदाहरण
अरू एउटा उदाहरणका रूपमा, पाठलाई फर्म्याट गर्ने फङ्क्शन बनाउँछौं।def format_text(text, alignment="left"):
if alignment == "left":
return text.ljust(20)
elif alignment == "right":
return text.rjust(20)
elif alignment == "center":
return text.center(20)
print(format_text("Hello", "center"))
यो फङ्क्शनले पाठलाई बायाँ-पङ्क्तिबद्ध, दायाँ-पङ्क्तिबद्ध, वा केन्द्र-पङ्क्तिबद्ध गरी फर्म्याट गर्छ।7. उन्नत फङ्क्शनका अवधारणाहरू
नेस्टेड फङ्क्शन
Python मा, एउटा फङ्क्शन भित्र अर्को फङ्क्शन परिभाषित गर्न सकिन्छ। यसलाई नेस्टेड फङ्क्शन भनिन्छ। नेस्टेड फङ्क्शन बाह्य फङ्क्शनको भित्रमात्र पहुँचयोग्य हुन्छ।def outer():
def inner():
print("This is the inner function")
inner()
नामरहित फङ्क्शन(Lambda)
lambda
कुञ्जीशब्द प्रयोग गर्दा, नाम नभएको फङ्क्शन (नामरहित फङ्क्शन) बनाउन सकिन्छ। यो एक पटक मात्र प्रयोग गरिने सरल फङ्क्शन बनाउन उपयोगी हुन्छ。square = lambda x: x * x
print(square(5)) # 25
डेकोरेटर
डेकोरेटर भनेको, विद्यमान फङ्क्शनलाई परिवर्तन नगरी त्यसको कार्यक्षमता विस्तार गर्ने तरिका हो। यो फङ्क्शनलाई आर्गुमेन्टका रूपमा लिएर नयाँ फङ्क्शन फर्काउने फङ्क्शनका रूपमा परिभाषित गरिन्छ।def decorator(func):
def wrapper():
print("Before the function")
func()
print("After the function")
return wrapper
@decorator
def say_hello():
print("Hello!")
say_hello()
8. सारांश
यो लेखमा, Python कोdef
कीवर्ड प्रयोग गरेर फङ्क्शन परिभाषित गर्ने तरिकादेखि, आर्गुमेन्टहरू, रिटर्न मान, स्कोप, र अझ उन्नत सुविधासम्म व्यापक रूपमा व्याख्या गरियो। फङ्क्शनलाई प्रयोग गरेर, प्रोग्रामलाई अझ कार्यक्षम र सुव्यवस्थित रूपमा निर्माण गर्न सकिन्छ। यो लेख सन्दर्भ गरी, विभिन्न फङ्क्शनहरू बनाउनुहोस् र Python प्रोग्रामिङका सीप सुधार गर्नुहोस्。
9. प्रायः सोधिने प्रश्नहरू (FAQs)
return
र print
बीच के फरक हो?
return
र print
मिल्दा–जुल्दा जस्ता देखिए पनि, तिनीहरूको भूमिका फरक हुन्छ। return
ले फङ्क्शनबाट मान फर्काउँछ र त्यो मान कार्यक्रमका अन्य भागहरूमा प्रयोग गर्न मिल्ने बनाउँछ। उदाहरणका लागि, गणनाको परिणाम फर्काएर त्यसलाई अर्को भेरिएबलमा असाइन गर्दा प्रयोग हुन्छ। अर्कोतर्फ, print
ले फङ्क्शनको आउटपुट कन्सोलमा मात्र देखाउँछ, र कार्यक्रमका अन्य भागहरूमा त्यो मान प्रयोग गर्न सकिँदैन।def add(a, b):
return a + b
result = add(3, 4) # result मा 7 भण्डारण हुन्छ
print(result) # 7
def display_message():
print("Hello, World!")
display_message() # कन्सोलमा Hello, World! देखाइन्छ, तर मान फर्काइँदैन
फङ्क्शनहरू नेस्ट गरेर प्रयोग गर्दा के फाइदा हुन्छ?
नेस्ट गरिएको फङ्क्शन प्रयोग गर्दा, बाहिरबाट पहुँच गर्न नसकिने स्थानीय फङ्क्शनहरू बनाउन सकिन्छ, जसले कोडको क्याप्सुलेसन र पुनःप्रयोगमा मद्दत गर्छ। साथै, बाहिरी फङ्क्शनको स्कोपमा पहुँच गर्न मिल्ने भएकाले, विशिष्ट प्रक्रियामा सीमित फङ्क्शन बनाउन उपयोगी हुन्छ।परिवर्तनीय-लम्बाइका आर्गुमेन्टहरू कहिले प्रयोग गर्ने?
फङ्क्शनलाई दिने आर्गुमेन्टहरूको संख्या निश्चित नभएको बेला परिवर्तनीय-लम्बाइका आर्गुमेन्टहरू प्रयोग गरिन्छ। उदाहरणका लागि, जति–सुकै संख्याका मानहरूको योगफल गणना गर्ने फङ्क्शन जस्ता, इनपुटको संख्या परिवर्तन हुनसक्ने अवस्थालाई सम्हाल्न प्रयोग गरिन्छ।def add_all(*args):
return sum(args)
result = add_all(1, 2, 3, 4, 5) # 15
फङ्क्शनको पुनरावर्ती कल कसरी प्रयोग गर्ने?
पुनरावर्ती फङ्क्शन भन्नाले फङ्क्शनले आफूलाई नै बोलाउनु हुन्छ। यो केही समस्याहरूलाई संक्षेपमा समाधान गर्न उपयोगी हुन्छ, तर सावधानीपूर्वक प्रयोग नगरेमा स्ट्याक ओभरफ्लो हुन सक्छ। उदाहरणका लागि, फ्याक्टोरियलको गणनामा प्रयोग गरिन्छ।def factorial(n):
if n == 0:
return 1
else:
return n * factorial(n-1)
result = factorial(5) # 120