Constructor Overloading ใน Python คืออะไร ด้วยตัวอย่าง
เผยแพร่แล้ว: 2023-01-29Python เป็นภาษาโปรแกรมที่ใช้งานง่ายซึ่งผู้เริ่มต้นสามารถเข้าใจได้ง่าย ภาษาการเขียนโปรแกรมนี้ให้การสนับสนุนชุมชนที่หลากหลายซึ่งช่วยโปรแกรมเมอร์ในการสำรวจวิธีต่างๆ ของการนำโค้ดไปใช้ ไลบรารีมาตรฐานใน Python และโมดูลที่สนับสนุนโดยฟอรัมชุมชนทำให้มีความเป็นไปได้ที่ไม่มีที่สิ้นสุด รวมถึงการพัฒนาเว็บและอินเทอร์เน็ต, GUI บนเดสก์ท็อป, การเข้าถึงฐานข้อมูล, การศึกษา, แอปพลิเคชันทางวิทยาศาสตร์และตัวเลข, การเขียนโปรแกรมเครือข่าย, การพัฒนาซอฟต์แวร์และโปรแกรมเพื่อพัฒนาเกม ภาษาโอเพ่นซอร์สนี้ได้รับการพัฒนาภายใต้ใบอนุญาตที่ได้รับอนุมัติจาก OSI ดังนั้นจึงสามารถใช้และแจกจ่ายได้ฟรี Python Software Foundation จัดการใบอนุญาตของ Python
สารบัญ
ตัวสร้างใน Python:
หน้าที่หลักของตัวสร้าง Python คือการยกตัวอย่างวัตถุ ในช่วงเวลาของการสร้างอ็อบเจกต์ สมาชิกข้อมูลคลาสจะได้รับการกำหนดค่าหรือเริ่มต้นด้วยความช่วยเหลือของคอนสตรัคเตอร์ ฟังก์ชัน _init_ เป็นคอนสตรัคเตอร์ใน Python มักจะถูกเรียกเมื่อมีการสร้างวัตถุใหม่
ไวยากรณ์สำหรับการประกาศตัวสร้างคือ
Def _init_(ตัวเอง):
#ตัวสร้าง
มีตัวสร้างสองประเภทใน Python พวกเขาเป็น:
- ตัวสร้างเริ่มต้น
- ตัวสร้างพารามิเตอร์
ตัวสร้างเริ่มต้น:
มันเป็นตัวสร้างที่เรียบง่ายและไม่ยอมรับพารามิเตอร์อินพุตใดๆ คำจำกัดความของตัวสร้างเริ่มต้นมีเพียงหนึ่งอาร์กิวเมนต์ที่อ้างถึงอินสแตนซ์ที่กำลังสร้าง
ตัวสร้างพารามิเตอร์:
ตามชื่อที่ระบุ ตัวสร้างเหล่านี้มีพารามิเตอร์ อาร์กิวเมนต์แรกของตัวสร้างประเภทนี้หมายถึงอินสแตนซ์ที่สร้างขึ้นและเรียกว่า 'ตนเอง' อาร์กิวเมนต์ที่จำเป็นอื่น ๆ ทั้งหมดระบุโดยโปรแกรมเมอร์เป็นอินพุต
ตรวจสอบหลักสูตรวิทยาศาสตร์ข้อมูลของ upGrad
ตัวสร้างโอเวอร์โหลดใน Python:
การสร้างโอเวอร์โหลดหมายถึงสถานการณ์ของการรวมคอนสตรัคเตอร์จำนวนมากขึ้นเข้ากับรายการพารามิเตอร์ที่แยกจากกัน ซึ่งคอนสตรัคเตอร์แต่ละตัวจะถูกใช้เพื่อทำงานที่แตกต่างกันในโปรแกรมให้สำเร็จ ตัวอย่างเช่น มีตัวสร้างสี่ประเภทในคลาส Vector
Python ไม่รองรับตัวสร้างหลายตัวอย่างชัดเจน อย่างไรก็ตาม การใช้ตัวสร้างหลายตัวใน Python สามารถทำได้หลายวิธี ถ้าโปรแกรมเมอร์เขียนเมธอด _init_ หลายเมธอดสำหรับคลาสเดียวกัน ฟังก์ชัน _init_ ที่เขียนล่าสุดจะเขียนทับคอนสตรัคเตอร์อื่นๆ ทั้งหมด
เหตุใดจึงต้องมีตัวสร้างหลายตัวใน Python
เมื่อผู้ใช้จำเป็นต้องดำเนินการต่าง ๆ เพื่อสร้างอินสแตนซ์ของคลาส ความต้องการของตัวสร้างหลายตัวจะปรากฏขึ้น สิ่งนี้มีประโยชน์เมื่อต้องดำเนินการต่าง ๆ โดยคลาสในพารามิเตอร์ที่แตกต่างกัน ตัวสร้างคลาสใน Python มีโครงสร้างเพื่อแสดงความหลากหลายในสามวิธีที่แตกต่างกันตามรายการด้านล่าง:
- ตัวสร้างโอเวอร์โหลดตามอาร์กิวเมนต์
- เรียกใช้เมธอด _init_
- การใช้ @classmethod มัณฑนากร
สำรวจหลักสูตรวิทยาศาสตร์ข้อมูลยอดนิยมของเรา
หลักสูตรบริหารธุรกิจบัณฑิตสาขาวิทยาศาสตร์ข้อมูลจาก IIITB | หลักสูตรประกาศนียบัตรวิชาชีพด้านวิทยาศาสตร์ข้อมูลเพื่อการตัดสินใจทางธุรกิจ | วิทยาศาสตรมหาบัณฑิต สาขา Data Science จาก University of Arizona |
หลักสูตรประกาศนียบัตรขั้นสูงด้านวิทยาศาสตร์ข้อมูลจาก IIITB | หลักสูตรประกาศนียบัตรวิชาชีพด้าน Data Science and Business Analytics จาก University of Maryland | หลักสูตรวิทยาศาสตร์ข้อมูล |
อ่านบทความวิทยาศาสตร์ข้อมูลยอดนิยมของเรา
เส้นทางอาชีพด้านวิทยาศาสตร์ข้อมูล: คู่มืออาชีพที่ครอบคลุม | Data Science Career Growth: อนาคตของงานมาถึงแล้ว | เหตุใดวิทยาศาสตร์ข้อมูลจึงมีความสำคัญ 8 วิธีที่ Data Science นำคุณค่ามาสู่ธุรกิจ |
ความเกี่ยวข้องของวิทยาศาสตร์ข้อมูลสำหรับผู้จัดการ | สุดยอดสูตรโกงวิทยาศาสตร์ข้อมูลที่นักวิทยาศาสตร์ข้อมูลทุกคนควรมี | เหตุผล 6 อันดับแรกที่คุณควรมาเป็นนักวิทยาศาสตร์ข้อมูล |
หนึ่งวันในชีวิตของ Data Scientist: พวกเขาทำอะไร? | Myth Busted: Data Science ไม่ต้องการการเข้ารหัส | Business Intelligence vs Data Science: อะไรคือความแตกต่าง? |
ตัวสร้างโอเวอร์โหลดใน Python ตามอาร์กิวเมนต์:
ในวิธีนี้ ตัวสร้างจะโอเวอร์โหลดโดยดำเนินการที่จำเป็นหลังจากตรวจสอบเงื่อนไขสำหรับอาร์กิวเมนต์ที่ผ่านแล้ว ให้เราพิจารณาตัวอย่างการส่งพารามิเตอร์ไปยังคลาสตัวอย่าง
- สี่เหลี่ยมของตัวเลขคือคำตอบหากพารามิเตอร์อินพุตเป็น int
- หากความยาวของพารามิเตอร์มากกว่า 1 ผลรวมของอาร์กิวเมนต์จะแสดงเป็นคำตอบ
วิธีการโทรด้วย _init_:
เมื่ออินสแตนซ์ของคลาสถูกสร้างขึ้น คลาสสามารถมีตัวสร้าง _init_ ตัวเดียวที่สามารถทำงานใดๆ ที่ได้รับมอบหมายได้ ตัวสร้างนี้สามารถปรับเปลี่ยนเพื่อจัดการฟังก์ชันต่างๆ และทำงานต่างๆ ตามพารามิเตอร์ที่ส่งผ่าน ให้เราพิจารณาตัวอย่างที่มีการคำนวณต่อไปนี้
- หากมีการส่งผ่านอาร์กิวเมนต์สองตัว นิพจน์จะถูกประเมินเป็น x = a 2 – b 2
- หากมีการส่งผ่านอาร์กิวเมนต์สามรายการ นิพจน์ที่ประเมินคือ y = a 2 + b 2 – c
- หากจำนวนอาร์กิวเมนต์ที่ส่งเกินสาม ให้เพิ่มกำลังสองของตัวเลขเหล่านั้นแล้วหารผลรวมด้วยอาร์กิวเมนต์ที่มีค่าสูงสุด
หากคุณต้องการเรียนรู้เชิงลึกเกี่ยวกับการแทนที่เมธอดใน Python เราขอแนะนำให้คุณเรียน ปริญญาโทสาขาวิทยาศาสตร์ข้อมูล 18 เดือน upGrad เสนอหลักสูตรนี้จาก IIIT Bangalore และ Liverpool John Moore's University หลักสูตรนี้จะสอนทักษะต่างๆ เช่น สถิติ การวิเคราะห์เชิงทำนายโดยใช้ Python การเรียนรู้ของเครื่อง การแสดงข้อมูล การวิเคราะห์ข้อมูลขนาดใหญ่ และอื่นๆ นักเรียนที่มีความรู้เป็นอย่างดีเกี่ยวกับแนวคิดของ Python นั้นอยู่ในสถานะที่ดีที่จะจัดการกับวิชาต่างๆ เช่น การเรียนรู้เชิงลึก การประมวลผลภาษาธรรมชาติ การวิเคราะห์ธุรกิจ และวิศวกรรมข้อมูล