पायथन में आप एक विधि को इस तरह से परिभाषित कर सकते हैं कि इसे कॉल करने के कई तरीके हैं। फ़ंक्शन परिभाषा के आधार पर, इसे शून्य, एक, दो या अधिक मापदंडों के साथ कहा जा सकता है। इसे मेथड ओवरलोडिंग के रूप में जाना जाता है।
दिए गए कोड में, एक वर्ग है जिसमें एक विधि SayHello() है। हम नीचे दिखाए अनुसार फिर से लिखते हैं। इस पद्धति का पहला पैरामीटर कोई नहीं पर सेट है, यह हमें पैरामीटर के साथ या बिना इसे कॉल करने का विकल्प देता है।
एक वस्तु वर्ग के आधार पर बनाई जाती है, और हम शून्य और एक पैरामीटर का उपयोग करके इसकी विधि कहते हैं। मेथड ओवरलोडिंग को लागू करने के लिए, हम मेथड SayHello() को दो तरह से कॉल करते हैं:1. obj.sayHello() और 2.obj.sayHello('Rambo')
हमने एक ऐसी विधि बनाई है जिसे अनुमति देने के लिए परिभाषित की तुलना में कम तर्कों के साथ बुलाया जा सकता है। हम दो चर तक सीमित नहीं हैं, दी गई विधि में अधिक चर हो सकते हैं जो वैकल्पिक हैं।
उदाहरण
class Human: def sayHello(self, name=None): if name is not None: print 'Hello ' + name else: print 'Hello ' obj = Human() print(obj.sayHello()) print(obj.sayHello('Rambo'))
आउटपुट
Hello None Hello Rambo None