किसी फ़ंक्शन को कैसे कॉल करें Python (उदाहरण)

फंक्शन क्या है? Python?

A में कार्य करें Python कोड का एक टुकड़ा है जो संदर्भित होने पर चलता है। इसका उपयोग प्रोग्राम में एक से अधिक स्थानों पर कोड का उपयोग करने के लिए किया जाता है। इसे विधि या प्रक्रिया भी कहा जाता है। Python यह कई इनबिल्ट फ़ंक्शन प्रदान करता है जैसे प्रिंट(), इनपुट(), संकलन(), निष्पादन(), आदि, लेकिन यह आपको अपने स्वयं के फ़ंक्शन बनाने की स्वतंत्रता भी देता है।

किसी फ़ंक्शन को कैसे परिभाषित और कॉल करें Python

में कार्य करें Python द्वारा परिभाषित किया गया है “डिफ़ ” कथन के बाद फ़ंक्शन का नाम और कोष्ठक ( () )

उदाहरण:

आइए हम "def func1():" कमांड का उपयोग करके एक फ़ंक्शन परिभाषित करें और फ़ंक्शन को कॉल करें। फ़ंक्शन का आउटपुट होगा "मेँ सीख रहा हूँ Python समारोह"।

किसी फ़ंक्शन को परिभाषित करें और कॉल करें Python

समारोह प्रिंट func1() हमारे def func1(): को कॉल करता है और कमांड प्रिंट करता है ” मेँ सीख रहा हूँ Python फ़ंक्शन कोई नहीं."

इसमें कुछ नियम हैं Python किसी फ़ंक्शन को परिभाषित करने के लिए.

  • किसी भी आर्ग्स या इनपुट पैरामीटर को इन कोष्ठकों के भीतर रखा जाना चाहिए
  • फ़ंक्शन का पहला कथन एक वैकल्पिक कथन हो सकता है- डॉकस्ट्रिंग या फ़ंक्शन का डॉक्यूमेंटेशन स्ट्रिंग
  • प्रत्येक फ़ंक्शन के अंदर कोड कोलन (:) से शुरू होता है और इंडेंट (स्पेस) होना चाहिए
  • कथन return (एक्सप्रेशन) फ़ंक्शन से बाहर निकलता है, वैकल्पिक रूप से कॉलर को एक मान वापस भेजता है। बिना args वाला return कथन return None के समान है।

इंडेंटेशन (स्पेस) का महत्व Python

इससे पहले कि हम परिचित हों Python फ़ंक्शन, यह महत्वपूर्ण है कि हम घोषित करने के लिए इंडेंटेशन नियम को समझें Python कार्य और ये नियम अन्य तत्वों पर भी लागू होते हैं Python साथ ही शर्तें, लूप या वेरिएबल घोषित करना भी शामिल है।

Python कोड को परिभाषित करने के लिए इंडेंटेशन की एक विशेष शैली का अनुसरण करता है, क्योंकि Python फ़ंक्शन में कोई स्पष्ट आरंभ या अंत नहीं होता है जैसे कि फ़ंक्शन के आरंभ और विराम को इंगित करने के लिए घुंघराले ब्रेसिज़, उन्हें इस इंडेंटेशन पर निर्भर रहना पड़ता है. यहाँ हम “print” कमांड के साथ एक सरल उदाहरण लेते हैं। जब हम def func 1 () के ठीक नीचे “print” फ़ंक्शन लिखते हैं: तो यह “ दिखाएगाइंडेंटेशन त्रुटि: एक इंडेंटेड ब्लॉक अपेक्षित था".

किसी फ़ंक्शन को परिभाषित करें और कॉल करें Python

अब, जब आप “प्रिंट” फ़ंक्शन के सामने इंडेंट (स्पेस) जोड़ते हैं, तो इसे अपेक्षा के अनुसार प्रिंट करना चाहिए।

किसी फ़ंक्शन को परिभाषित करें और कॉल करें Python

कम से कम, एक इंडेंट आपके कोड को सफलतापूर्वक काम करने के लिए पर्याप्त है। लेकिन एक सर्वोत्तम अभ्यास के रूप में अपने फ़ंक्शन को कॉल करने के लिए लगभग 3-4 इंडेंट छोड़ना उचित है.

यह भी आवश्यक है कि इंडेंटेशन घोषित करते समय, आपको अपने शेष कोड के लिए समान इंडेंट बनाए रखेंउदाहरण के लिए, नीचे दिए गए स्क्रीन शॉट में जब हम एक और स्टेटमेंट “still in func1” कहते हैं और जब इसे पहले प्रिंट स्टेटमेंट के ठीक नीचे घोषित नहीं किया जाता है तो यह एक इंडेंटेशन त्रुटि दिखाएगा “अनइंडेंट किसी अन्य इंडेंटेशन स्तर से मेल नहीं खाता।”

किसी फ़ंक्शन को परिभाषित करें और कॉल करें Python

अब, जब हम दोनों कथनों के लिए समान इंडेंटेशन लागू करते हैं और उन्हें एक ही पंक्ति में संरेखित करते हैं, तो यह अपेक्षित आउटपुट देता है।

किसी फ़ंक्शन को परिभाषित करें और कॉल करें Python

फ़ंक्शन मान कैसे लौटाता है?

आदेश वापस करें Python यह निर्दिष्ट करता है कि फ़ंक्शन के कॉलर को क्या मान वापस देना है। आइए इसे निम्न उदाहरण से समझते हैं

चरण 1) फ़ंक्शन कुछ भी वापस नहीं करता है

यहाँ - हम देखते हैं कि फ़ंक्शन कब “रिटर्न” नहीं होता है। उदाहरण के लिए, हम 4 का वर्ग चाहते हैं, और कोड निष्पादित होने पर इसे “16” उत्तर देना चाहिए। जब ​​हम केवल “प्रिंट x*x” कोड का उपयोग करते हैं, तो यह उत्तर देता है, लेकिन जब आप फ़ंक्शन “प्रिंट स्क्वायर” को कॉल करते हैं, तो यह आउटपुट के रूप में “कोई नहीं” देता है। ऐसा इसलिए है क्योंकि जब आप फ़ंक्शन को कॉल करते हैं, तो पुनरावृत्ति नहीं होती है और फ़ंक्शन के अंत में गिर जाती है। Python फ़ंक्शन के अंत में विफल होने पर “कोई नहीं” लौटाता है।

फ़ंक्शन वापसी मान

चरण 2) प्रिंट कमांड को असाइनमेंट कमांड से बदलें

इसे और स्पष्ट करने के लिए हम प्रिंट कमांड को असाइनमेंट कमांड से बदल देते हैं। चलिए आउटपुट देखते हैं।

फ़ंक्शन वापसी मान

जब आप “प्रिंट स्क्वायर (4)” कमांड चलाते हैं तो यह वास्तव में ऑब्जेक्ट का मान लौटाता है क्योंकि हमारे पास यहां चलाने के लिए कोई विशिष्ट फ़ंक्शन नहीं है, यह “कोई नहीं” लौटाता है।

चरण 3) 'रिटर्न' फ़ंक्शन का उपयोग करें और कोड निष्पादित करें

अब, यहाँ हम देखेंगे कि “रिटर्न” कमांड का उपयोग करके आउटपुट कैसे प्राप्त करें। जब आप “रिटर्न” फ़ंक्शन का उपयोग करते हैं और कोड निष्पादित करते हैं, तो यह आउटपुट “16” देगा।

फ़ंक्शन वापसी मान

चरण 4) 'प्रिंट स्क्वायर' कमांड चलाएँ

में कार्य करता है Python स्वयं एक वस्तु हैं, और एक वस्तु का कुछ मूल्य होता है। हम यहाँ देखेंगे कि कैसे Python किसी ऑब्जेक्ट को ट्रीट करता है। जब आप “प्रिंट स्क्वायर” कमांड चलाते हैं तो यह ऑब्जेक्ट का मान लौटाता है। चूँकि हमने कोई तर्क नहीं दिया है, इसलिए हमारे पास यहाँ चलाने के लिए कोई विशिष्ट फ़ंक्शन नहीं है, यह एक डिफ़ॉल्ट मान (0x021B2D30) लौटाता है जो ऑब्जेक्ट का स्थान है। व्यावहारिकता में Python कार्यक्रम के अंतर्गत, आपको संभवतः ऐसा करने की कभी आवश्यकता नहीं होगी।

फ़ंक्शन वापसी मान

फ़ंक्शन में तर्क

तर्क एक मान है जो फ़ंक्शन को कॉल किए जाने पर पास किया जाता है।

दूसरे शब्दों में, कॉलिंग पक्ष पर यह एक तर्क है और फ़ंक्शन पक्ष पर यह एक पैरामीटर है।

आइये देखें कैसे Python आर्ग्स काम करता है –

चरण 1) फ़ंक्शन परिभाषा में तर्क घोषित किए जाते हैं। फ़ंक्शन को कॉल करते समय, आप उस तर्क के लिए मान पास कर सकते हैं जैसा कि नीचे दिखाया गया है

फ़ंक्शन में तर्क

चरण 2) किसी तर्क का डिफ़ॉल्ट मान घोषित करने के लिए, फ़ंक्शन परिभाषा पर उसे एक मान निर्दिष्ट करें।

फ़ंक्शन में तर्क

उदाहरण: x का कोई डिफ़ॉल्ट मान नहीं है। डिफ़ॉल्ट मान y=0 है। जब हम मल्टीप्लाई फ़ंक्शन को कॉल करते समय केवल एक तर्क देते हैं, Python x को दिया गया मान असाइन करता है जबकि y=0 का मान बनाए रखता है। इसलिए x*y=0 का गुणनफल

एक फ़ंक्शन को परिभाषित करें और कॉल करें Python

चरण 3) इस बार हम डिफ़ॉल्ट मान y=2 के बजाय मान को y=0 में बदल देंगे, और यह (4×2)=8 के रूप में आउटपुट देगा।

फ़ंक्शन में तर्क

चरण 4) आप तर्कों को पारित करने का क्रम भी बदल सकते हैं Pythonयहाँ हमने x और y के मानों का क्रम उलट दिया है x=4 और y=2.

फ़ंक्शन में तर्क

चरण 5) मल्टीपल आर्गुमेंट को एक ऐरे के रूप में भी पास किया जा सकता है। यहाँ उदाहरण में हम (*args) फ़ंक्शन को कॉल करके मल्टीपल आर्गुमेंट (1,2,3,4,5) को कॉल करते हैं।

उदाहरण: जब हम (*args) फ़ंक्शन को कॉल करते हैं तो हम कई args को संख्या (1,2,3,4,5) के रूप में घोषित करते हैं; यह आउटपुट को (1,2,3,4,5) के रूप में प्रिंट करता है

फ़ंक्शन में तर्क

टिप्स:

  • In Python 2.7. फ़ंक्शन ओवरलोडिंग में समर्थित नहीं है Pythonफ़ंक्शन ओवरलोडिंग एक अलग कार्यान्वयन के साथ एक ही नाम के कई तरीकों को बनाने की क्षमता है। फ़ंक्शन ओवरलोडिंग पूरी तरह से समर्थित है Python 3
  • विधियों और कार्यों के बीच काफी भ्रम है। Python ऑब्जेक्ट इंस्टेंस से जुड़े होते हैं जबकि फ़ंक्शन नहीं होते हैं। Python किसी विधि को कॉल करता है, तो यह उस कॉल के पहले पैरामीटर को उचित ऑब्जेक्ट संदर्भ से बांधता है। सरल शब्दों में, एक स्टैंडअलोन फ़ंक्शन Python एक "फ़ंक्शन" है, जबकि एक फ़ंक्शन जो किसी वर्ग या उदाहरण की विशेषता है वह एक "विधि" है।

यहाँ पूरा है Python 3 का कोड

#define a function
def func1():
   print ("I am learning Python function")
   print ("still in func1")
   
func1()

def square(x):
  	return x*x
print(square(4))

def multiply(x,y=0):
	print("value of x=",x)
	print("value of y=",y)
    
	return x*y
  
print(multiply(y=2,x=4))

यहाँ पूरा है Python 2 का कोड

#define a function
def func1():
   print " I am learning Python function"
   print " still in func1"
   
func1()

def square(x):
  	return x*x
print square(4)

def multiply(x,y=0):
	print"value of x=",x
	print"value of y=",y
    
	return x*y
  
print multiply(y=2,x=4)

सारांश

में कार्य करें Python यह एक पुन: प्रयोज्य कोड का टुकड़ा है जिसका उपयोग एकल, संबंधित क्रिया करने के लिए किया जाता है। इस लेख में, हम देखेंगे

  • द्वारा परिभाषित कार्य डीईएफ़ कथन
  • प्रत्येक फ़ंक्शन के अंदर कोड ब्लॉक कोलन (:) से शुरू होता है और उसे इंडेंट (स्पेस) किया जाना चाहिए
  • किसी भी तर्क या इनपुट पैरामीटर को इन कोष्ठकों आदि के भीतर रखा जाना चाहिए।
  • फ़ंक्शन घोषित करने के बाद कोड से पहले कम से कम एक इंडेंट छोड़ा जाना चाहिए
  • def फ़ंक्शन के भीतर पूरे कोड में समान इंडेंट शैली बनाए रखी जानी चाहिए
  • सर्वोत्तम प्रथाओं के लिए कथन से पहले तीन या चार इंडेंट सर्वोत्तम माने जाते हैं
  • आप फ़ंक्शन कॉल में मान वापस करने के लिए “return” कमांड का उपयोग कर सकते हैं।
  • Python जब तर्क को कॉलिंग फ़ंक्शन में आपूर्ति नहीं की जाती है, तो (0x021B2D30) जैसा एक यादृच्छिक मान प्रिंट करेगा। उदाहरण "प्रिंट फ़ंक्शन।"
  • कॉलिंग पक्ष पर, यह एक तर्क है और फ़ंक्शन पक्ष पर यह एक पैरामीटर है
  • तर्क में डिफ़ॉल्ट मान - जब हम गुणा फ़ंक्शन या किसी अन्य फ़ंक्शन को कॉल करते समय केवल एक तर्क प्रदान करते हैं, Python डिफ़ॉल्ट रूप से अन्य तर्क निर्दिष्ट करता है
  • Python आपको तर्क के क्रम को उलटने में भी सक्षम बनाता है

इस पोस्ट को संक्षेप में इस प्रकार लिखें: