OOP คืออะไร?

Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

George Boorman

Curriculum Manager, DataCamp

การเขียนโปรแกรมเชิงขั้นตอน

 

  • โค้ดเป็นลำดับขั้นตอน
  • เหมาะสำหรับการวิเคราะห์ข้อมูล

บันได

1 Image source: https://unsplash.com/@tateisimikito
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

คิดแบบลำดับขั้นตอน

 

ไอคอนคนนอนตามด้วยไอคอนกาแฟและกระเป๋าเอกสาร

 

ไอคอนหลากหลายแสดงกิจกรรมต่าง ๆ มากมาย

Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

การเขียนโปรแกรมเชิงขั้นตอน

 

  • โค้ดเป็นลำดับขั้นตอน
  • เหมาะสำหรับการวิเคราะห์ข้อมูล

การเขียนโปรแกรมเชิงวัตถุ

 

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

ออบเจกต์

$$\Large{\text{Object = data + functionality}}$$

ภาพเงาคนถือแล็ปท็อปแทนลูกค้า

                                                          State - ข้อมูลของออบเจกต์

                                                  Behavior - ฟังก์ชันการทำงานของออบเจกต์

Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

ออบเจกต์ใน Python

  • ทุกอย่างใน Python คือออบเจกต์
ออบเจกต์ ประเภท
5 int
"Hello" str
pd.DataFrame() DataFrame
sum() function
... ...
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

Class เปรียบเหมือนแม่แบบ

  • Class: แม่แบบสำหรับสร้างออบเจกต์ที่กำหนด state และ behavior ที่เป็นไปได้

customer class

Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

Class เปรียบเหมือนแม่แบบ

  • Class : แม่แบบสำหรับสร้างออบเจกต์ที่กำหนด state และ behavior ที่เป็นไปได้

customer class แตกแขนงไปยังออบเจกต์ลูกค้า

Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

Class ใน Python

  • ออบเจกต์ Python ประเภทเดียวกันทำงานในลักษณะเดียวกัน
  • lists คือ class
    • สร้างด้วยค่าที่คั่นด้วยคอมมา [1, 2, 3, 4, 5]
    • ใช้เมธอดร่วมกัน เช่น .append()
  • ใช้ type() เพื่อตรวจสอบ class
type([1, 2, 3, 4, 5])
<class 'list'>
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

แอตทริบิวต์และเมธอด

State ↔ แอตทริบิวต์
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# shape attribute df.shape
(3, 2)
  • ใช้ obj. เพื่อเข้าถึงแอตทริบิวต์และเมธอด
Behavior ↔ เมธอด
import pandas as pd
df = pd.DataFrame({"a": [1,2,3], 
                   "b": [4,5,6]})

# head method df.head()
   a  b
0  1  4
1  2  5
2  3  6
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

การแสดงแอตทริบิวต์และเมธอด

# Display attributes and methods
dir([1, 2, 3, 4])
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
# Display attributes and methods
dir(list)
['__add__',
 '__class__',
 '__contains__',
 '__delattr__', 
 ...
 'pop',
 'remove',
 'reverse',
 'sort']
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

สรุปคำศัพท์

คำศัพท์ ความหมาย
Class แม่แบบ/เทมเพลตสำหรับสร้างออบเจกต์
Object การรวมกันของข้อมูลและฟังก์ชันการทำงาน คืออินสแตนซ์ของ class
State ข้อมูลที่เชื่อมกับออบเจกต์ กำหนดผ่านแอตทริบิวต์
Behavior ฟังก์ชันการทำงานของออบเจกต์ กำหนดผ่านเมธอด
Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

มาทบทวนกัน!

Python เบื้องต้นสำหรับการเขียนโปรแกรมเชิงวัตถุ

Preparing Video For Download...