ใน Python คุณสามารถกำหนดวิธีการในลักษณะที่มีหลายวิธีที่จะเรียกมัน ขึ้นอยู่กับนิยามของฟังก์ชัน สามารถเรียกได้ด้วยพารามิเตอร์ศูนย์ หนึ่ง สอง หรือมากกว่า สิ่งนี้เรียกว่าวิธีการโอเวอร์โหลด
ในรหัสที่กำหนด มีคลาสหนึ่งวิธี 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