คลาส Python และวัตถุ - การเขียนโปรแกรมเชิงวัตถุ



บล็อกเกี่ยวกับ 'Python Class' นี้เกี่ยวข้องกับพื้นฐานของคลาสคุณสมบัติและแนวคิด OOPS ต่างๆเช่นการสืบทอดความหลากหลายและการห่อหุ้ม

หลังจาก Stack Overflow คาดการณ์ว่าภายในปี 2019 Python จะแซงหน้าภาษาอื่น ๆ ในแง่ของนักพัฒนาที่ใช้งานอยู่ซึ่งเป็นที่ต้องการ กำลังเติบโตเท่านั้นPython เป็นไปตามกระบวนทัศน์การเขียนโปรแกรมเชิงวัตถุ มันเกี่ยวข้องกับการประกาศคลาส python สร้างวัตถุจากพวกมันและโต้ตอบกับผู้ใช้ ในภาษาเชิงวัตถุโปรแกรมจะแบ่งออกเป็นออบเจ็กต์ในตัวหรือคุณอาจพูดเป็นมินิโปรแกรมต่างๆ วัตถุแต่ละชิ้นเป็นตัวแทนของส่วนต่างๆของแอปพลิเคชันที่สามารถสื่อสารกันเองได้
ในบล็อกคลาส python นี้คุณจะเข้าใจลักษณะของคลาสและออบเจ็กต์แต่ละด้านตามลำดับต่อไปนี้:

มาเริ่มกันเลย.:-)





Python Class คืออะไร?

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

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



  • ตัวแปรคลาส เป็นตัวแปรที่ใช้ร่วมกันโดยอ็อบเจ็กต์ / อินสแตนซ์ต่างๆของคลาส
  • ตัวแปรอินสแตนซ์ เป็นตัวแปรที่ไม่ซ้ำกันสำหรับแต่ละอินสแตนซ์ มันถูกกำหนดภายในวิธีการและเป็นของอินสแตนซ์ปัจจุบันของคลาสเท่านั้น
  • วิธีการ เรียกอีกอย่างว่าเป็นฟังก์ชันที่กำหนดไว้ในคลาสและอธิบายถึงพฤติกรรมของวัตถุ

ตอนนี้ให้เราไปข้างหน้าและดูว่ามันทำงานอย่างไรใน PyCharm ในการเริ่มต้นขั้นแรกให้ดูที่ไวยากรณ์ของคลาส python

ไวยากรณ์ :

รอและแจ้งใน java
คลาส Class_name: statement-1 . คำสั่ง -N

ที่นี่ ' ชั้นเรียน” คำสั่งสร้างนิยามคลาสใหม่ ชื่อของคลาสจะตามหลังคีย์เวิร์ด“ ชั้นเรียน” ใน python ซึ่งตามด้วยเครื่องหมายจุดคู่ ในการสร้างคลาสใน python ให้พิจารณาตัวอย่างด้านล่าง:



คลาสพนักงาน: ผ่าน #no แอตทริบิวต์และวิธีการ emp_1 = พนักงาน () emp_2 = พนักงาน () #instance ตัวแปรสามารถสร้างด้วยตนเอง emp_1.first = 'aayushi' emp_1.last = 'Johari' emp_1.email='aayushi@edureka.co 'emp_1.pay = 10,000 emp_2.first =' test 'emp_2.last =' abc 'emp_2.email='test@company.com' emp_2.pay = 10,000 พิมพ์ (emp_1.email) พิมพ์ (emp_2.email)

เอาต์พุต -

aayushi@edureka.co test@company.com

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

วิธีการและคุณสมบัติในคลาส Python

ขณะนี้การสร้างคลาสยังไม่สมบูรณ์หากไม่มีฟังก์ชันบางอย่าง ดังนั้นฟังก์ชันจึงสามารถกำหนดได้โดยการตั้งค่าแอตทริบิวต์ต่างๆซึ่งทำหน้าที่เป็นที่เก็บข้อมูลและฟังก์ชันที่เกี่ยวข้องกับแอตทริบิวต์เหล่านั้น ฟังก์ชั่นใน python เรียกอีกอย่างว่า วิธีการ . พูดคุยเกี่ยวกับ ในนั้น วิธี เป็นฟังก์ชันพิเศษที่ถูกเรียกใช้เมื่อใดก็ตามที่มีการสร้างอินสแตนซ์อ็อบเจ็กต์ใหม่ของคลาสนั้น คุณสามารถคิดว่ามันเป็นวิธีการเริ่มต้นหรือคุณสามารถพิจารณาสิ่งนี้เป็นตัวสร้างหากคุณมาจากพื้นหลังการเขียนโปรแกรมเชิงวัตถุอื่น ๆ เช่น C ++, Java เป็นต้นตอนนี้เมื่อเราตั้งค่าวิธีการภายในคลาสพวกเขาจะได้รับอินสแตนซ์โดยอัตโนมัติ ไปข้างหน้าด้วยคลาส python และยอมรับชื่อนามสกุลและเงินเดือนโดยใช้วิธีนี้

คลาสพนักงาน: def __init __ (self, first, last, sal): self.fname = first self.lname = last self.sal = sal self.email = first + '.' + last + '@ company.com' emp_1 = พนักงาน ('aayushi', 'johari', 350000) emp_2 = พนักงาน ('test', 'test', 100000) พิมพ์ (emp_1.email) พิมพ์ (emp_2.email)

ในเมธอด 'init' ของเราเราได้ตั้งค่าตัวแปรอินสแตนซ์เหล่านี้แล้ว (self, first, last, sal) Self คืออินสแตนซ์ซึ่งหมายความว่าเมื่อใดก็ตามที่เราเขียน self.fname = first จะเหมือนกับ emp_1.first = 'aayushi' จากนั้นเราได้สร้างอินสแตนซ์ของคลาสพนักงานที่เราสามารถส่งผ่านค่าที่ระบุในเมธอด init วิธีนี้ใช้อินสแตนซ์เป็นอาร์กิวเมนต์ แทนที่จะทำด้วยตนเองก็จะทำ โดยอัตโนมัติ ตอนนี้.

ต่อไปเราต้องการความสามารถในการดำเนินการบางอย่าง สำหรับสิ่งนั้นเราจะเพิ่มไฟล์ วิธี ไปยังชั้นเรียนนี้ สมมติว่าฉันต้องการให้ฟังก์ชันแสดงชื่อเต็มของพนักงาน ดังนั้นเราจะนำสิ่งนี้ไปปฏิบัติจริง

คลาสพนักงาน: def __init __ (self, first, last, sal): self.fname = first self.lname = last self.sal = sal self.email = first + '.' + last + '@ company.com' def ชื่อเต็ม (ตัวเอง): return '{} {}'. format (self.fname, self.lname) emp_1 = พนักงาน ('aayushi', 'johari', 350000) emp_2 = พนักงาน ('test', 'test', 100000) พิมพ์ (emp_1.email) พิมพ์ (emp_2.email) พิมพ์ (emp_1.fullname ()) พิมพ์ (emp_2.fullname ())

เอาต์พุต-

aayushi.johari@company.com test.test@company.com aayushijohari testtest

ดังที่คุณเห็นด้านบนฉันได้สร้างวิธีการที่เรียกว่า 'ชื่อเต็ม' ภายในชั้นเรียน ดังนั้นแต่ละวิธีในคลาส python จะใช้อินสแตนซ์เป็นอาร์กิวเมนต์แรกโดยอัตโนมัติ ในวิธีนี้ฉันได้เขียนตรรกะเพื่อพิมพ์ชื่อเต็มและส่งคืนสิ่งนี้แทนชื่อและนามสกุลของ emp_1 ต่อไปฉันได้ใช้ 'ตัวเอง' เพื่อให้สามารถใช้ได้กับทุกอินสแตนซ์ ดังนั้นในการพิมพ์ทุกครั้งเราจึงใช้ไฟล์ วิธี .

ก้าวไปข้างหน้าด้วยคลาส Python มีตัวแปรที่ใช้ร่วมกันระหว่างอินสแตนซ์ทั้งหมดของคลาส สิ่งเหล่านี้เรียกว่า ตัวแปรคลาส . ตัวแปรอินสแตนซ์สามารถไม่ซ้ำกันสำหรับแต่ละอินสแตนซ์เช่นชื่ออีเมล sal ฯลฯ ซับซ้อนไหม มาทำความเข้าใจกับตัวอย่าง อ้างอิงรหัสด้านล่างเพื่อดูการเพิ่มขึ้นของเงินเดือนประจำปี

คลาสพนักงาน: perc_raise = 1.05 def __init __ (self, first, last, sal): self.fname = first self.lname = last self.sal = sal self.email = first + '.' + last + '@ company.com' def fullname (self): return '{} {}'. format (self.fname, self.lname) def apply_raise (self): self.sal = int (self.sal * 1.05 ) emp_1 = พนักงาน ('aayushi', 'johari', 350000) emp_2 = พนักงาน ('test', 'test', 100000) พิมพ์ (emp_1.sal) emp_1.apply_raise () พิมพ์ (emp_1.sal)

เอาต์พุต-

350000 367500

ดังที่คุณเห็นด้านบนฉันได้พิมพ์เงินเดือนก่อนแล้วจึงใช้การเพิ่มขึ้น 1.5% ในการเข้าถึงตัวแปรคลาสเหล่านี้เราจำเป็นต้องเข้าถึงตัวแปรเหล่านี้ผ่านคลาสหรืออินสแตนซ์ของคลาส ตอนนี้เรามาทำความเข้าใจแอตทริบิวต์ต่างๆในคลาส python

แอตทริบิวต์ในคลาส Python

แอตทริบิวต์ใน Python กำหนดคุณสมบัติของวัตถุองค์ประกอบหรือไฟล์ แอตทริบิวต์มีสองประเภท:

  • คุณสมบัติคลาสในตัว: มีแอตทริบิวต์บิวท์อินหลายแบบที่มีอยู่ในคลาส Python ตัวอย่างเช่น _dict_, _doc_, _name _ ฯลฯ ขอฉันใช้ตัวอย่างเดียวกับที่ฉันต้องการดูคู่คีย์ - ค่าทั้งหมดของพนักงาน 1 ด้วยเหตุนี้คุณสามารถเขียนคำสั่งด้านล่างซึ่งมีเนมสเปซคลาส:

    พิมพ์ (emp_1 .__ dict__)

    หลังจากดำเนินการแล้วคุณจะได้รับผลลัพธ์เช่น: {‘fname’: ‘aayushi’, ‘lname’: ‘johari’, ‘sal’: 350000, ’email’: ‘aayushi.johari@company.com’}

  • แอตทริบิวต์ที่กำหนดโดยผู้ใช้ : แอตทริบิวต์ถูกสร้างขึ้นภายในนิยามคลาส เราสามารถสร้างแอตทริบิวต์ใหม่แบบไดนามิกสำหรับอินสแตนซ์ที่มีอยู่ของคลาส แอตทริบิวต์สามารถผูกไว้กับชื่อคลาสได้เช่นกัน

ต่อไปเรามี สาธารณะได้รับการคุ้มครอง และ เอกชน คุณลักษณะ. มาทำความเข้าใจโดยละเอียด:

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


ต่อไปเรามาทำความเข้าใจองค์ประกอบที่สำคัญที่สุดในคลาส python เช่น Objects

วัตถุในคลาส Python คืออะไร?

ดังที่เราได้กล่าวไปแล้วข้างต้นสามารถใช้วัตถุเพื่อเข้าถึงคุณลักษณะต่างๆ ใช้เพื่อสร้างอินสแตนซ์ของคลาส อินสแตนซ์คืออ็อบเจ็กต์ของคลาสที่สร้างขึ้นในขณะรันไทม์

o ให้ภาพรวมคร่าวๆโดยพื้นฐานแล้ววัตถุคือทุกสิ่งที่คุณเห็นรอบ ๆ ตัวอย่างเช่น: สุนัขเป็นวัตถุของสัตว์ชั้นหนึ่งฉันเป็นวัตถุของชนชั้นมนุษย์ ในทำนองเดียวกันอาจมีวัตถุที่แตกต่างกันสำหรับโทรศัพท์คลาสเดียวกันสิ่งนี้ค่อนข้างคล้ายกับการเรียกใช้ฟังก์ชันที่เราได้พูดถึงไปแล้ว มาทำความเข้าใจกับตัวอย่าง:

คลาส MyClass: def func (ตัวเอง): พิมพ์ ('สวัสดี') # สร้าง MyClass ob = MyClass () ob.func () ใหม่

ก้าวไปข้างหน้าด้วยคลาส python มาทำความเข้าใจแนวคิด OOP ต่างๆกัน

แนวคิด OOPs

OOPs หมายถึง Object-Oriented Programming ใน Python Python ไม่ได้เป็นเชิงวัตถุอย่างสมบูรณ์เนื่องจากมีฟังก์ชันขั้นตอนบางอย่าง ตอนนี้คุณต้องสงสัยว่าอะไรคือความแตกต่างระหว่างการเขียนโปรแกรมขั้นตอนและเชิงวัตถุ เพื่อคลายข้อสงสัยของคุณในการเขียนโปรแกรมขั้นตอนโค้ดทั้งหมดจะถูกเขียนเป็นโพรซีเดอร์แบบยาวเดียวแม้ว่าจะมีฟังก์ชันและรูทีนย่อยก็ตาม ไม่สามารถจัดการได้เนื่องจากทั้งข้อมูลและตรรกะผสมกัน แต่เมื่อเราพูดถึงการเขียนโปรแกรมเชิงวัตถุโปรแกรมจะแยกออกเป็นวัตถุในตัวหรือโปรแกรมขนาดเล็กหลายโปรแกรม แต่ละออบเจ็กต์เป็นตัวแทนของส่วนต่างๆของแอปพลิเคชันซึ่งมีข้อมูลและตรรกะในการสื่อสารระหว่างกัน ตัวอย่างเช่นเว็บไซต์มีวัตถุที่แตกต่างกันเช่นรูปภาพวิดีโอเป็นต้น
การเขียนโปรแกรมเชิงวัตถุประกอบด้วยแนวคิดของคลาส Python, object, Inheritance, Polymorphism, Abstraction เป็นต้นมาทำความเข้าใจกับหัวข้อเหล่านี้โดยละเอียด

วิธีใช้ Google Cloud Platform

คลาส Python: การสืบทอด

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

ดังที่เราเห็นในภาพเด็ก ๆ ได้รับคุณสมบัติจากพ่อ ในทำนองเดียวกันใน python มีสองคลาส:

1. คลาสผู้ปกครอง (คลาส Super หรือ Base)

2. คลาสย่อย (คลาสย่อยหรือคลาสที่ได้รับ)

คลาสที่สืบทอดคุณสมบัติเรียกว่า เด็ก คลาสในขณะที่คลาสที่มีคุณสมบัติสืบทอดเรียกว่า ผู้ปกครอง ชั้นเรียน.

การสืบทอดหมายถึงความสามารถในการสร้าง คลาสย่อย ที่มีความเชี่ยวชาญเฉพาะของผู้ปกครอง ยังแบ่งออกเป็นสี่ประเภท ได้แก่ การสืบทอดแบบเดี่ยวหลายระดับลำดับชั้นและหลายแบบ ดูภาพด้านล่างเพื่อทำความเข้าใจ

jit compiler ใน java คืออะไร

มาดูคลาส python และทำความเข้าใจว่าการสืบทอดมีประโยชน์อย่างไร

สมมติว่าฉันต้องการสร้างชั้นเรียนสำหรับประเภทของพนักงาน ฉันจะสร้าง 'นักพัฒนา' และ 'ผู้จัดการ' เป็นชั้นเรียนย่อยเนื่องจากทั้งนักพัฒนาและผู้จัดการจะมีชื่ออีเมลและเงินเดือนและฟังก์ชันทั้งหมดนี้จะอยู่ที่นั่นในชั้นพนักงาน ดังนั้นแทนที่จะคัดลอกรหัสสำหรับคลาสย่อยเราสามารถใช้รหัสซ้ำได้โดยรับช่วงจากพนักงาน

คลาสพนักงาน: num_employee = 0 Raise_amount = 1.04 def __init __ (self, first, last, sal): self.first = first self.last = last self.sal = sal self.email = first + '.' + last + '@ company.com' staff.num_employee + = 1 def fullname (self): return '{} {}'. format (self.first, self.last) def apply_raise (self): self.sal = int ( self.sal * Raise_amount) ผู้พัฒนาคลาส (พนักงาน): pass emp_1 = developer ('aayushi', 'johari', 1000000) print (emp_1.email)
 เอาต์พุต - aayushi.johari@company.com

ดังที่คุณเห็นในผลลัพธ์ด้านบนรายละเอียดทั้งหมดของคลาสพนักงานมีอยู่ในคลาสนักพัฒนาตอนนี้จะเป็นอย่างไรถ้าฉันต้องการเปลี่ยน Raise_amount สำหรับนักพัฒนาเป็น 10% มาดูกันว่าสามารถทำได้จริง

คลาสพนักงาน: num_employee = 0 Raise_amount = 1.04 def __init __ (self, first, last, sal): self.first = first self.last = last self.sal = sal self.email = first + '.' + last + '@ company.com' staff.num_employee + = 1 def fullname (self): return '{} {}'. format (self.first, self.last) def apply_raise (self): self.sal = int ( self.sal * Raise_amount) ผู้พัฒนาคลาส (พนักงาน): Raise_amount = 1.10 emp_1 = ผู้พัฒนา ('aayushi', 'johari', 1000000) พิมพ์ (emp_1.raise_amount)
 เอาต์พุต - 1.1

ดังที่คุณเห็นว่ามีการอัปเดตเปอร์เซ็นต์การเพิ่มขึ้นของเงินเดือนจาก 4% เป็น 10%ตอนนี้ถ้าฉันต้องการเพิ่มแอตทริบิวต์อีก 1 รายการให้พูดภาษาโปรแกรมในวิธีการเริ่มต้นของเรา แต่ไม่มีอยู่ในคลาสหลักของเรา มีวิธีแก้ไขหรือไม่? ใช่ เราสามารถคัดลอกตรรกะของพนักงานทั้งหมดและทำได้ แต่จะเพิ่มขนาดโค้ดอีกครั้ง ดังนั้นเพื่อหลีกเลี่ยงปัญหานั้นให้พิจารณาโค้ดด้านล่างนี้:

คลาสพนักงาน: num_employee = 0 Raise_amount = 1.04 def __init __ (self, first, last, sal): self.first = first self.last = last self.sal = sal self.email = first + '.' + last + '@ company.com' staff.num_employee + = 1 def fullname (self): return '{} {}'. format (self.first, self.last) def apply_raise (self): self.sal = int ( self.sal * Raise_amount) คลาสผู้พัฒนา (พนักงาน): Raise_amount = 1.10 def __init __ (self, first, last, sal, prog_lang): super () .__ init __ (first, last, sal) self.prog_lang = prog_lang emp_1 = developer ( 'aayushi', 'johari', 1000000, 'python') พิมพ์ (emp_1.prog_lang)

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

คลาส Python: Polymorphism

ความหลากหลายในวิทยาการคอมพิวเตอร์คือความสามารถในการนำเสนออินเทอร์เฟซเดียวกันสำหรับรูปแบบพื้นฐานที่แตกต่างกัน ในทางปฏิบัติความหลากหลายหมายความว่าหากคลาส B สืบทอดมาจากคลาส A ก็ไม่จำเป็นต้องสืบทอดทุกอย่างเกี่ยวกับคลาส A แต่ก็สามารถทำบางสิ่งที่คลาส A แตกต่างออกไปได้ มักใช้กันมากที่สุดในขณะที่เกี่ยวข้องกับมรดก Python เป็นความหลากหลายโดยปริยายมันมีความสามารถในการโอเวอร์โหลดตัวดำเนินการมาตรฐานเพื่อให้มีพฤติกรรมที่เหมาะสมตามบริบทของพวกเขา

ให้เราเข้าใจด้วยตัวอย่าง:

class Animal: def __init __ (self, name): self.name = name def talk (self): pass class Dog (Animal): def talk (self): print ('Woof') class Cat (Animal): def talk ( self): print ('MEOW!') c = Cat ('kitty') c.talk () d = Dog (Animal) d.talk ()

เอาต์พุต -

เหมียว! โฮ่ง

ต่อไปให้เราย้ายไปที่แนวคิดการเขียนโปรแกรมเชิงวัตถุอื่นเช่น Abstraction

คลาส Python: Abstraction

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

จาก abc นำเข้า ABC คลาสนามธรรมวิธีการพนักงาน (ABC): @abstractmethod def คำนวณ_salary (ตัวเอง, sal): ผ่านคลาสผู้พัฒนา (พนักงาน): def คำนวณ_salary (ตนเอง, sal): finalsalary = sal * 1.10 ส่งคืนรอบชิงชนะเลิศ emp_1 = ผู้พัฒนา () พิมพ์ (emp_1.calculate_salary (10,000))

เอาต์พุต-

11000.0

ดังที่คุณเห็นในผลลัพธ์ด้านบนเราได้เพิ่มฐานเงินเดือนเป็น 10% เช่นตอนนี้เงินเดือนอยู่ที่ 11000 ตอนนี้ถ้าคุณทำต่อไปและสร้างวัตถุของคลาส 'พนักงาน' มันจะทำให้คุณเกิดข้อผิดพลาดอย่างที่ python ทำ ไม่อนุญาตให้คุณสร้างวัตถุของคลาสนามธรรม แต่การใช้การสืบทอดคุณสามารถสืบทอดคุณสมบัติและดำเนินการตามลำดับได้

พวกนี้เป็นข้อมูลเกี่ยวกับคลาส python และออบเจ็กต์โดยสรุป เราได้กล่าวถึงพื้นฐานทั้งหมดของคลาส Python อ็อบเจกต์และแนวคิดเชิงวัตถุต่างๆใน python ดังนั้นคุณสามารถเริ่มฝึกได้ทันที ฉันหวังว่าพวกคุณจะสนุกกับการอ่านบล็อกนี้ใน“ Python Class” และมีความชัดเจนเกี่ยวกับแต่ละแง่มุมที่ฉันได้กล่าวไว้ข้างต้น หลังจากคลาส python ฉันจะมาพร้อมกับบล็อกเพิ่มเติมเกี่ยวกับ Python สำหรับ scikit learn library และ array คอยติดตาม!

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

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