Method Overloading ใน Python คืออะไรและทำงานอย่างไร?



บทความนี้จะอธิบายถึงวิธีการโอเวอร์โหลดใน python และวิธีการทำงาน มีสองตัวอย่างที่แตกต่างกันเพื่ออธิบายวิธีการในเชิงลึก

สองวิธีไม่สามารถมีชื่อเดียวกันใน . Method overloading ใน Python เป็นคุณสมบัติที่ช่วยให้ตัวดำเนินการเดียวกันมีความหมายต่างกัน ในบทความนี้เราจะมาดูคุณสมบัติการโอเวอร์โหลดใน Python และวิธีการใช้งานใช้วิธีการมากเกินไปตามลำดับต่อไปนี้:

Overloading คืออะไร?

โอเวอร์โหลด คือความสามารถของฟังก์ชันหรือตัวดำเนินการในการทำงานในรูปแบบต่างๆตามพารามิเตอร์ที่ส่งผ่านไปยัง หรือตัวถูกดำเนินการที่ตัวดำเนินการดำเนินการ





java hashset คืออะไร

บางส่วนของ ข้อดี ของการใช้งานเกินคือ:

  • การใช้วิธีการที่มากเกินไปทำให้สามารถนำกลับมาใช้ใหม่ได้ ตัวอย่างเช่นแทนที่จะเขียนวิธีการหลาย ๆ วิธีที่แตกต่างกันเพียงเล็กน้อยเราสามารถเขียนวิธีการเดียวและใส่มากเกินไป



  • การโอเวอร์โหลดยังช่วยเพิ่มความชัดเจนของโค้ดและขจัดความซับซ้อน

การโอเวอร์โหลดเป็นแนวคิดที่มีประโยชน์มาก อย่างไรก็ตามมันมีจำนวน ข้อเสีย เกี่ยวข้องกับมัน

  • การใช้งานมากเกินไปอาจสร้างความสับสนเมื่อใช้ข้าม ขอบเขต เมื่อใช้งานมากเกินไปการจัดการฟังก์ชันที่มากเกินไปจะกลายเป็นเรื่องยุ่งยาก



วิธีการโอเวอร์โหลดใน Python

ใน Python คุณสามารถสร้างเมธอดที่เรียกได้หลายวิธี ดังนั้นคุณสามารถมีเมธอดที่มีพารามิเตอร์เป็นศูนย์จำนวนหนึ่งหรือมากกว่านั้นก็ได้ ขึ้นอยู่กับนิยามวิธีการเราสามารถเรียกมันด้วยศูนย์อาร์กิวเมนต์อย่างน้อยหนึ่งอาร์กิวเมนต์

ด้วยวิธีการหรือฟังก์ชันเดียวคุณสามารถระบุจำนวนพารามิเตอร์ได้ กระบวนการเรียกเมธอดเดียวกันในรูปแบบต่างๆนี้เรียกว่า method overloading

ตัวอย่างการโอเวอร์โหลดวิธี

ตอนนี้คุณรู้แล้วว่าเมธอดโอเวอร์โหลดใน Python คืออะไรมาดูตัวอย่างกัน ที่นี่เราสร้างคลาสด้วยหนึ่ง สวัสดี() . พารามิเตอร์แรกของวิธีนี้ถูกตั้งค่าเป็นไม่มี สิ่งนี้จะทำให้เรามีตัวเลือกในการเรียกใช้โดยมีหรือไม่มีพารามิเตอร์

ออบเจ็กต์ถูกสร้างขึ้นตามคลาสด้วยและเราจะเรียกเมธอดโดยใช้พารามิเตอร์ศูนย์และหนึ่ง

ตัวอย่างที่ 1:

#! / usr / bin / env python class Person: def Hello (self, name = None): if name is not None: print ('Hello' + name) else: print ('Hello') # Create instance obj = Person () # เรียกเมธอด obj.Hello () # เรียกใช้เมธอดด้วยพารามิเตอร์ obj.Hello ('Edureka')

เอาท์พุต:

สวัสดีสวัสดี Edureka

เพื่อชี้แจงวิธีการโอเวอร์โหลดตอนนี้เราสามารถเรียกเมธอด Hello () ได้สองวิธี:

obj.Hello () obj สวัสดี ('Edureka')

ในตัวอย่างข้างต้นเราได้สร้างเมธอดที่สามารถเรียกโดยมีอาร์กิวเมนต์น้อยกว่าที่กำหนดไว้เพื่ออนุญาต นอกจากนี้ยังไม่ จำกัด สอง ตัวแปร และวิธีการของคุณสามารถมีตัวแปรเพิ่มเติมซึ่งเป็นทางเลือก

ตอนนี้เรามาดูกัน ตัวอย่าง เพื่อทำความเข้าใจเกี่ยวกับวิธีการที่ใช้งานมากเกินไป .

java วิธีสร้างอาร์เรย์ของวัตถุ

ตัวอย่างที่ 2:

ในตัวอย่างต่อไปนี้เราจะโอเวอร์โหลดเมธอดพื้นที่ ถ้าไม่มีอาร์กิวเมนต์ก็จะส่งกลับ 0 และถ้าเรามีอาร์กิวเมนต์หนึ่งอาร์กิวเมนต์จะส่งกลับค่ากำลังสองและถือว่าคุณกำลังคำนวณพื้นที่ของกำลังสอง นอกจากนี้หากเรามีอาร์กิวเมนต์สองตัวมันจะส่งคืนผลคูณของค่าทั้งสองและถือว่าคุณกำลังคำนวณพื้นที่ของสี่เหลี่ยมผืนผ้า

# class class Compute: # area method def area (self, x = None, y = None): if x! = None and y! = None: return x * y elif x! = None: return x * x else: return 0 # object obj = Compute () # zero การพิมพ์อาร์กิวเมนต์ ('Area Value:', obj.area ()) # หนึ่งอาร์กิวเมนต์พิมพ์ ('ค่าพื้นที่:', obj.area (4)) # พิมพ์อาร์กิวเมนต์สอง ('พื้นที่ ค่า: ', obj.area (3, 5))

รหัสด้านบนจะให้สิ่งต่อไปนี้แก่เรา เอาต์พุต:

มูลค่าพื้นที่: 0 มูลค่าพื้นที่: 16 มูลค่าพื้นที่: 15

ด้วยเหตุนี้เราจึงมาถึงตอนท้ายของบทความของเรา ฉันหวังว่าคุณจะเข้าใจว่าวิธีการโอเวอร์โหลดใน python คืออะไรและมันทำงานอย่างไร

หากต้องการรับความรู้เชิงลึกเกี่ยวกับ python พร้อมกับแอปพลิเคชันต่างๆคุณสามารถลงทะเบียนเพื่อถ่ายทอดสดได้ โดย Edureka พร้อมการสนับสนุนตลอด 24 ชั่วโมงทุกวันและการเข้าถึงตลอดชีวิต

มีคำถามสำหรับเรา? โปรดระบุไว้ในส่วนความคิดเห็นของบล็อก 'Method Overloading in Python' และเราจะติดต่อกลับโดยเร็วที่สุด