फ़ंक्शन
एक फ़ंक्शन किसी विशिष्ट कार्य को करने के लिए कोड का एक ब्लॉक होता है, जिसमें इसका अपना दायरा होता है और इसे नाम से बुलाया जाता है। सभी फ़ंक्शंस में शून्य (नहीं) तर्क या एक से अधिक तर्क हो सकते हैं। बाहर निकलने पर, कोई फ़ंक्शन एक या अधिक मान लौटा सकता है या नहीं।
बेसिक फंक्शन सिंटैक्स
def functionName( arg1, arg2,….): ……. # Function_body ……..
आइए अपना खुद का (उपयोगकर्ता) बनाएं, एक बहुत ही सरल कार्य जिसे योग कहा जाता है (उपयोगकर्ता कोई भी नाम दे सकता है जो वह चाहता है) ”। फ़ंक्शन "योग" में दो तर्क होते हैं जिन्हें num1 और num2 कहा जाता है और फ़ंक्शन (योग) को दिए गए तर्कों का योग वापस कर देगा। जब हम मान (तर्क) 5 और 6 के साथ फ़ंक्शन (योग) को कॉल करते हैं, तो यह 11 लौटाता है।
def sum(num1, num2): return (num1 + num2)
आउटपुट
>>> sum(5,6) 11
तो ऊपर से, हम देखते हैं कि 'रिटर्न' स्टेटमेंट पायथन फ़ंक्शन से एक मान लौटाता है।
फ़ंक्शन हमें कोड पुन:प्रयोज्य को लागू करने की अनुमति देता है। कार्य तीन प्रकार के होते हैं -
-
अंतर्निहित कार्य (जैसा कि नाम से पता चलता है, ये फ़ंक्शन पायथन भाषा के साथ आते हैं, उदाहरण के लिए, मदद () किसी भी मदद के लिए पूछने के लिए, अधिकतम () - अधिकतम मूल्य प्राप्त करने के लिए, टाइप करें () - किसी वस्तु के प्रकार को वापस करने के लिए और भी बहुत कुछ।)
-
उपयोगकर्ता-परिभाषित फ़ंक्शन (ये वे फ़ंक्शन हैं जो उपयोगकर्ता उनकी सहायता के लिए बनाते हैं, जैसे "योग" फ़ंक्शन जो हमने ऊपर बनाया है)।
-
बेनामी फ़ंक्शन (जिसे लैम्ब्डा फ़ंक्शन भी कहा जाता है और सामान्य फ़ंक्शन के विपरीत जिसे def का उपयोग करके परिभाषित किया जाता है। कीवर्ड को लैम्ब्डा . का उपयोग करके परिभाषित किया गया है कीवर्ड)।
विधि
पायथन में एक विधि कुछ हद तक फ़ंक्शन के समान होती है, सिवाय इसके कि यह ऑब्जेक्ट/कक्षाओं से जुड़ी होती है। दो प्रमुख अंतरों को छोड़कर पायथन में विधियाँ बहुत समान हैं।
-
विधि का प्रयोग उस वस्तु के लिए किया जाता है जिसके लिए इसे कहा जाता है।
-
यह विधि उस डेटा तक पहुंच योग्य है जो कक्षा में निहित है।
सामान्य विधि सिंटैक्स
class ClassName: def method_name(): ………….. # Method_body ………………
आइए एक सरल कोड के माध्यम से विधि को समझते हैं -
class Pet(object): def my_method(self): print("I am a Cat") cat = Pet() cat.my_method()
आउटपुट
I am a Cat
उपरोक्त कोड में, हमने पहले वर्ग "पेट" को परिभाषित किया है। फिर हमने इस ब्लूप्रिंट से ऑब्जेक्ट "कैट" बनाया। इसके बाद, हम अपने कस्टम मेथड को my_method नाम से ऑब्जेक्ट (.i.e. cat) के साथ कॉल करते हैं।
पायथन में मेथड और फंक्शन के बीच मुख्य अंतर
जैसा कि हमें फ़ंक्शन और विधि दोनों की बुनियादी समझ मिलती है, आइए उनके बीच के प्रमुख अंतरों को उजागर करें -
-
किसी फ़ंक्शन के विपरीत, किसी ऑब्जेक्ट पर विधियों को कॉल किया जाता है। जैसा कि ऊपर हमारे उदाहरण में हम अपनी विधि कहते हैं। ऑब्जेक्ट "कैट" पर "my_method" जबकि फ़ंक्शन "योग" को बिना किसी ऑब्जेक्ट के कहा जाता है। साथ ही, क्योंकि किसी ऑब्जेक्ट पर विधि को कॉल किया जाता है, वह उस डेटा को उसके भीतर एक्सेस कर सकता है।
-
विधि के विपरीत जो वस्तु की स्थिति को बदल सकती है, पायथन फ़ंक्शन ऐसा नहीं करता है और सामान्य रूप से उस पर काम करता है।
संक्षेप में, एक विधि एक ऐसा कार्य है जो किसी वस्तु से संबंधित है।