पायथन फंक्शंस के उदाहरण: कॉल, इंडेंटेशन, तर्क और amp; वापसी मान

विषय - सूची:

Anonim

पायथन में फ़ंक्शन क्या है?

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

इस ट्यूटोरियल में हम सीखेंगे

  • पायथन में एक फ़ंक्शन को कैसे परिभाषित और कॉल किया जाए
  • पायथन में इंडेंटेशन (स्पेस) का महत्व
  • कैसे करें रिटर्न वैल्यू?
  • कार्यों में तर्क

पायथन में एक फ़ंक्शन को कैसे परिभाषित और कॉल किया जाए

पायथन में फ़ंक्शन को फ़ंक्शन नाम और कोष्ठकों () के बाद "डीफ़" स्टेटमेंट द्वारा परिभाषित किया गया है।

उदाहरण:

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

फंक्शन प्रिंट func1 () हमारे डिफ फंक 1 () को कॉल करता है और कमांड को प्रिंट करता है " मैं पायथन फंक्शन नो सीख रहा हूं। "

एक फ़ंक्शन को परिभाषित करने के लिए पायथन में नियमों के सेट हैं।

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

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

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

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

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

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

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

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

कैसे करें रिटर्न वैल्यू?

पायथन में रिटर्न कमांड निर्दिष्ट करता है कि फ़ंक्शन के कॉलर को वापस देने के लिए क्या मूल्य है।

आइए इसे निम्नलिखित उदाहरण से समझते हैं

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

चरण 2) यह स्पष्ट करने के लिए हम प्रिंट कमांड को असाइनमेंट कमांड से बदलते हैं। आइए आउटपुट की जांच करें।

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

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

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

कार्यों में तर्क

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

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

आइए देखें कि पायथन आर्ग कैसे काम करता है -

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

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

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

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

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

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

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

टिप्स :

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

यहां पूरा पायथन 3 कोड है

#define a functiondef func1():print ("I am learning Python function")print ("still in func1")func1()def square(x):return x*xprint(square(4))def multiply(x,y=0):print("value of x=",x)print("value of y=",y)return x*yprint(multiply(y=2,x=4))

यहां पूरा पायथन 2 कोड है

#define a functiondef func1():print " I am learning Python function"print " still in func1"func1()def square(x):return x*xprint square(4)def multiply(x,y=0):print"value of x=",xprint"value of y=",yreturn x*yprint multiply(y=2,x=4)

सारांश:

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

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