สองวิธีไม่สามารถมีชื่อเดียวกันใน . 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' และเราจะติดต่อกลับโดยเร็วที่สุด