เรียนเขียนโปรแกรมง่ายๆกับ Expert Programming Tutor วันนี้เราจะมาเข้าสู่บท Class and Objects
Python เป็นภาษาโปรแกรมเชิงวัตถุ เกือบทุกอย่างใน Python เป็นอ๊อบเจคที่มีคุณสมบัติและวิธีการต่างๆ Class เป็นเหมือนตัวสร้างอ๊อบเจคหรือ "blueprint"" สำหรับการสร้างอ๊อบเจค
สร้าง class
หากต้องการสร้างคลาสให้ใช้ class
ตัวอย่าง
สร้างคลาสที่ชื่อ MyClass โดยมีคุณสมบัติชื่อ x
class MyClass: |
ผลลัพธ์
< class '__main__.MyClass' > |
การสร้างObjects
ตัวอย่าง
ตอนนี้เราสามารถใช้คลาสชื่อ MyClass เพื่อสร้างอ๊อบเจค
class MyClass: |
ผลลัพธ์
5 |
ฟังก์ชัน __init __ ()
ตัวอย่างด้านบนเป็นคลาสและอ๊อบเจคในรูปแบบที่ง่ายที่สุดและไม่มีประโยชน์ในการใช้งานจริง เพื่อให้เข้าใจความหมายของคลาสเราต้องเข้าใจฟังก์ชัน __init __ ()ทุกคลาสมีฟังก์ชั่นที่เรียกว่า __init __ () ซึ่งจะทำงานเสมอเมื่อมีการเริ่มต้นคลาส ใช้ฟังก์ชัน __init __ () เพื่อกำหนดค่าให้กับคุณสมบัติของอ๊อบเจคหรือการเรียกใช้งานอื่น ๆ ที่จำเป็นต้องทำเมื่อสร้างอ๊อบเจค
ตัวอย่าง
สร้างคลาสที่ชื่อว่า Person ใช้ฟังก์ชัน __init __ () เพื่อกำหนดค่าสำหรับชื่อและอายุ
class Person: |
ผลลัพธ์
john |
หมายเหตุ: ฟังก์ชัน __init __ () จะถูกเรียกโดยอัตโนมัติทุกครั้งที่มีการใช้คลาสเพื่อสร้างอ๊อบเจคใหม่
Object Methods
เมธอดอ๊อบเจคคือฟังก์ชั่นที่เป็นของอ๊อบเจ็ค ให้เราสร้างในclass Person
ตัวอย่าง
แทรกฟังก์ชั่นที่พิมพ์คำและเรียกใช้งานกับอ๊อบเจค p1
class Person: |
ผลลัพธ์
Traceback (most recent call last): |
หมายเหตุ: พารามิเตอร์ self เป็นการอ้างอิงถึงอินสแตนซ์ปัจจุบันของคลาสและใช้เพื่อเข้าถึงตัวแปรที่เป็นของคลาส
The self Parameter
เป็นการอ้างอิงถึงอินสแตนซ์ปัจจุบันของคลาสและใช้เพื่อเข้าถึงตัวแปรที่เป็นของคลาส มันไม่จำเป็นต้องตั้งชื่อตัวเอง นักเรียนสามารถเรียกมันว่าอะไรก็ได้ที่นักเรียนต้องการ แต่มันจะต้องเป็นพารามิเตอร์แรกของฟังก์ชั่นใดๆ ในคลาส
ตัวอย่าง
ใช้คำว่า mysillyobject และ abc แทน self
class Person: |
ผลลัพธ์
40 |
Modify Object Properties
นักเรียนสามารถปรับเปลี่ยนคุณสมบัติบนอ๊อบเจคได้ดังนี้
ตัวอย่าง
ตั้งค่าอายุ p1 เป็น 40
class Person: def myfunc(self): p1 = Person("John", 36) |
ผลลัพธ์
40 |
Delete Object Properties
นักเรียนสามารถลบคุณสมบัติบนอ๊อบเจคโดยใช้ del()
ตัวอย่าง
ลบคุณสมบัติอายุจากอ๊อบเจ็ค p1
class Person: def myfunc(self): p1 = Person("John", 36) |
ผลลัพธ์
Traceback (most recent call last): |
Delete Objects
นักเรียนสามารถลบอ๊อบเจคโดยใช้ del()
ตัวอย่าง
ลบ object p1
class Person: p1 = Person("John", 36) |
ผลลัพธ์
Traceback (most recent call last): |
The pass Statement
คำจำกัดความของ class ต้องไม่มีเนื้อหาว่างเปล่า แต่ถ้านักเรียนมีเหตุผลบางอย่างที่มีคำจำกัดความของ class ที่ไม่มีเนื้อหาให้ใส่คำสั่ง pass เพื่อหลีกเลี่ยงError
ตัวอย่าง
class Person: |
ในบทความนี้ก็จะพูดถึงการสร้าง Class and Objects ถ้าเราตั้งใจศึกษา เเละหมั่นเขียนโค้ดบ่อยๆ ผมเชื่อว่าเราจะสามารถเป็นนักพัฒนาซอฟต์แวร์ที่เก่งคนนึงได้ครับ
แปลจาก https://www.w3schools.com/python/python_classes.asp
Tag ที่น่าสนใจ: python classes objects programming object-oriented class_creation object_instantiation constructor __init__ object_methods self_parameter modify_properties delete_properties
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM