ใน 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