Chuyển đến nội dung chính

Hướng dẫn về Lớp (Class) trong Python

Trong Python, mọi thứ đều là đối tượng. Số, chuỗi, DataFrame, thậm chí cả hàm đều là đối tượng. Cụ thể, mọi thứ bạn làm việc trong Python đều có một lớp, một bản thiết kế đi kèm ẩn phía sau.
· 3 phút đọc

Khám phá cùng AI

Cách tiếp cận hướng đối tượng hữu ích nhất khi mã của bạn liên quan đến các tương tác phức tạp giữa nhiều đối tượng. Trong mã sản xuất thực tế, các lớp có thể có hàng chục thuộc tính và phương thức với logic phức tạp, nhưng cấu trúc nền tảng vẫn giống như với lớp đơn giản nhất.

Các lớp giống như bản thiết kế cho đối tượng, phác thảo các hành vi và trạng thái mà mọi đối tượng thuộc một kiểu nhất định có thể có. Ví dụ, nếu bạn nói, "mỗi khách hàng sẽ có số điện thoại và email, và sẽ có thể đặt và hủy đơn hàng", bạn vừa định nghĩa một lớp! Bằng cách này, bạn có thể nói về khách hàng theo một cách thống nhất. Sau đó, một đối tượng Customer cụ thể chỉ là sự hiện thực hóa của lớp này với một giá trị trạng thái cụ thể.

đồ họa lớp customer

Tìm hiểu các Lớp trong Python

Trong Python, mọi thứ đều là đối tượng. Số, chuỗi, DataFrame, thậm chí cả hàm đều là đối tượng. Cụ thể, mọi thứ bạn làm việc trong Python đều có một lớp, một bản thiết kế đi kèm ẩn phía sau. Sự tồn tại của các giao diện thống nhất này là lý do tại sao bạn có thể dùng, chẳng hạn, bất kỳ DataFrame nào theo cùng một cách.

Bạn có thể gọi type() trên bất kỳ đối tượng Python nào để biết lớp của nó. Ví dụ, lớp của một mảng numpy thực ra được gọi là ndarray (viết tắt của n-dimensional array - mảng n chiều).

import numpy as np
a = np.array([1,2,3,4])
print(type(a))
numpy.ndarray

Các lớp kết hợp thông tin về trạng thái và hành vi. Thông tin trạng thái trong Python nằm trong các thuộc tính, còn thông tin hành vi nằm trong các phương thức.

Thuộc tính và Phương thức

Lấy ví dụ một mảng numpy: bạn đã từng sử dụng một số phương thức và thuộc tính của nó rồi!

Chẳng hạn, mọi mảng numpy đều có thuộc tính "shape" mà bạn có thể truy cập bằng cách ghi tên mảng, theo sau là dấu chấm và shape.

Trạng thái <--> Thuộc tính

import numpy as np
a = np.array([1,2,3,4])
# thuộc tính shape
a.shape
(4,)

Nó cũng có các phương thức như max và reshape mà bạn cũng truy cập qua dấu chấm.

Hành vi <--> Phương thức

import numpy as np
a = np.array([1,2,3,4])
# phương thức reshape
a.reshape(2,2)
array([[1, 2],
       [3, 4]])

Tạo Class đầu tiên của bạn

Trong ví dụ này, bạn sẽ tạo một lớp rỗng Employee. Sau đó, bạn sẽ tạo một đối tượng emp của lớp Employee bằng cách gọi Employee().

Hãy thử in thuộc tính .name của đối tượng emp trong bảng điều khiển. Chuyện gì xảy ra?

# Tạo một lớp rỗng Employee
class Employee:
    pass
# Tạo một đối tượng emp thuộc lớp Employee
emp = Employee()

Tự bạn thử nhé.

Để tìm hiểu thêm về lập trình hướng đối tượng trong Python, vui lòng xem video này từ khóa học Object-Oriented Programming in Python của chúng tôi.

Nội dung này được trích từ khóa học Object-Oriented Programming in Python của DataCamp do Aliaksandra Yarosh biên soạn. 

Hãy xem Hướng dẫn Lập trình Hướng đối tượng (OOP) trong Python của DataCamp.

Chủ đề

Liên quan