Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

เราจะโอเวอร์โหลดฟังก์ชัน Python ได้อย่างไร


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