Ưu đãi trong tuần: Nhập mã UD50 giảm 50k cho đơn từ 300k!
Trang chủ
Menu

Python 3: Deep Dive (Part 4 - OOP)

Python 3: Tìm hiểu chuyên sâu (Phần 4 - Lập trình hướng đối tượng)

Python 3: Tìm hiểu chuyên sâu (Phần 4 - Lập trình hướng đối tượng)

Lập trình hướng đối tượng (OOP) trong Python

4.8
(3,752 đánh giá)
38,004 học viên
Giảng viên
Dr. Fred Baptiste
Phụ đề Việt chất lượng cao Phụ đề tiếng Anh Bán chạy Đánh giá cao
79.000đ 349.000đ -77%
✓ Xem giỏ hàng và thanh toán
Bao gồm phụ đề tiếng Việt, tiếng Anh
36.5 giờ video
166 bài giảng
Truy cập vĩnh viễn
Học trên mọi thiết bị
Cập nhật: 07/06/2026

Bạn sẽ học được gì

Các khái niệm hướng đối tượng trong Python
Lớp (Classes)
Phương thức và ràng buộc
Phương thức thể hiện, lớp và tĩnh
Thuộc tính (Properties)
Bộ trang trí thuộc tính (Property Decorators)
Kế thừa đơn
Slots
Bộ mô tả (Descriptors)
Kiểu liệt kê (Enumerations)
Ngoại lệ (Exceptions)
Lập trình siêu dữ liệu (Metaprogramming)

Yêu cầu

Kiến thức vững về Python hàm (functional Python)
Closure và Decorator
Trình lặp (Iterators), Đối tượng có thể lặp (Iterables) và Trình tạo (Generators)
Kiểu ánh xạ (Mapping Types), Băm (Hashing)
Có tiếp xúc cơ bản với OOP

Đối tượng phù hợp

Dành cho lập trình viên Python trung cấp có kinh nghiệm muốn hiểu sâu hơn về OOP trong Python

Nội dung khóa học

15 phần • 166 bài giảng
1 Giới thiệu
2 Điều kiện tiên quyết
3 Slide bài giảng
1 Giới thiệu
2 Đối tượng và Lớp - Lý thuyết
3 Đối tượng và Lớp - Thực hành
4 Thuộc tính lớp - Lý thuyết
5 Thuộc tính lớp - Thực hành
6 Thuộc tính lớp có thể gọi - Lý thuyết
7 Thuộc tính lớp có thể gọi - Thực hành
8 Lớp là các đối tượng có thể gọi - Lý thuyết
9 Lớp là các đối tượng có thể gọi - Thực hành
10 Thuộc tính dữ liệu - Lý thuyết
11 Thuộc tính dữ liệu - Thực hành
12 Thuộc tính hàm - Lý thuyết
13 Thuộc tính hàm - Thực hành
14 Khởi tạo thể hiện của lớp - Lý thuyết
15 Khởi tạo thể hiện của lớp - Thực hành
16 Tạo thuộc tính khi chạy - Lý thuyết
17 Tạo thuộc tính khi chạy - Thực hành
18 Thuộc tính (Properties) - Lý thuyết
19 Thuộc tính (Properties) - Thực hành
20 Bộ trang trí thuộc tính - Lý thuyết
21 Bộ trang trí thuộc tính - Thực hành
22 Thuộc tính chỉ đọc và được tính toán - Lý thuyết
23 Thuộc tính chỉ đọc và được tính toán - Thực hành
24 Xóa thuộc tính - Lý thuyết
25 Xóa thuộc tính - Thực hành
26 Một số câu hỏi về lớp Property
27 Phương thức lớp và phương thức tĩnh - Lý thuyết
28 Phương thức lớp và phương thức tĩnh - Thực hành
29 Kiểu dựng sẵn và tiêu chuẩn của Python
30 Phạm vi thân lớp - Lý thuyết
31 Phạm vi thân lớp - Thực hành
32 Tóm tắt nhanh
1 Mô tả dự án
2 Giải pháp dự án - Múi giờ (TimeZone)
3 Giải pháp dự án - Số giao dịch
4 Giải pháp dự án - Số tài khoản, Tên
5 Giải pháp dự án - Múi giờ ưa thích
6 Giải pháp dự án - Số dư tài khoản
7 Giải pháp dự án - Lãi suất
8 Giải pháp dự án - Mã giao dịch
9 Giải pháp dự án - Mã xác nhận
10 Giải pháp dự án - Các giao dịch
11 Giải pháp dự án - Kiểm thử với unittest
1 Giới thiệu
2 Phương thức __str__ và __repr__ - Lý thuyết
3 Phương thức __str__ và __repr__ - Thực hành
4 Toán tử số học - Lý thuyết
5 Toán tử số học - Thực hành
6 So sánh nâng cao (Rich Comparisons) - Lý thuyết
7 So sánh nâng cao (Rich Comparisons) - Thực hành
8 Băm (Hashing) và So sánh bằng - Lý thuyết
9 Băm (Hashing) và So sánh bằng - Thực hành
10 Giá trị Boolean - Lý thuyết
11 Giá trị Boolean - Thực hành
12 Đối tượng có thể gọi (Callables) - Lý thuyết
13 Đối tượng có thể gọi (Callables) - Thực hành
14 Phương thức __del__ - Lý thuyết
15 Phương thức __del__ - Thực hành
16 Phương thức __format__ - Lý thuyết
17 Phương thức __format__ - Thực hành
1 Mô tả dự án
2 Giải pháp dự án
1 Giới thiệu
2 Kế thừa đơn - Lý thuyết
3 Kế thừa đơn - Thực hành
4 Lớp object - Lý thuyết
5 Lớp object - Thực hành
6 Ghi đè (Overriding) - Lý thuyết
7 Ghi đè (Overriding) - Thực hành
8 Mở rộng (Extending) - Lý thuyết
9 Mở rộng (Extending) - Thực hành
10 Ủy quyền cho lớp cha (Delegating to Parent) - Lý thuyết
11 Ủy quyền cho lớp cha (Delegating to Parent) - Thực hành
12 Slots - Lý thuyết
13 Slots - Thực hành
14 Slots và Kế thừa đơn - Lý thuyết
15 Slots và Kế thừa đơn - Thực hành
1 Mô tả Dự án 3
2 Giải pháp dự án - Cách tiếp cận và Thiết lập
3 Giải pháp dự án - Lớp Validators và kiểm thử
4 Giải pháp dự án - Lớp Resources và kiểm thử
5 Giải pháp dự án - Lớp CPU và kiểm thử
6 Giải pháp dự án - Lớp Storage và kiểm thử
7 Giải pháp dự án - Lớp HDD, SSD và kiểm thử
1 Giới thiệu
2 Bộ mô tả - Lý thuyết
3 Bộ mô tả - Thực hành
4 Getter và Setter - Lý thuyết
5 Getter và Setter - Thực hành
6 Sử dụng như thuộc tính thể hiện - Lý thuyết
7 Sử dụng như thuộc tính thể hiện - Thực hành
8 Tham chiếu mạnh và yếu - Lý thuyết
9 Tham chiếu mạnh và yếu - Thực hành
10 Quay lại với thuộc tính thể hiện - Lý thuyết
11 Quay lại với thuộc tính thể hiện - Thực hành
12 Phương thức __set_name__ - Lý thuyết
13 Phương thức __set_name__ - Thực hành
14 Độ phân giải tìm kiếm thuộc tính - Lý thuyết
15 Độ phân giải tìm kiếm thuộc tính - Thực hành
16 Properties và Descriptors - Lý thuyết
17 Properties và Descriptors - Thực hành
18 Ứng dụng - Ví dụ 1
19 Ứng dụng - Ví dụ 2
20 Hàm và Descriptors - Lý thuyết
21 Hàm và Descriptors - Thực hành
1 Mô tả dự án
2 Giải pháp - Phần 1
3 Giải pháp - Phần 2
1 Giới thiệu
2 Lý do sử dụng Enumerations
3 Kiểu liệt kê - Lý thuyết
4 Kiểu liệt kê - Thực hành
5 Bí danh (Aliases) - Lý thuyết
6 Bí danh (Aliases) - Thực hành
7 Tùy chỉnh/Mở rộng Enum - Lý thuyết
8 Tùy chỉnh/Mở rộng Enum - Thực hành
9 Giá trị tự động - Lý thuyết
10 Giá trị tự động - Thực hành
1 Mô tả dự án
2 Giải pháp dự án
1 Giới thiệu
2 Ngoại lệ trong Python - Lý thuyết
3 Ngoại lệ trong Python - Thực hành
4 Xử lý ngoại lệ - Lý thuyết
5 Xử lý ngoại lệ - Thực hành
6 Ném ngoại lệ (Raising Exceptions) - Lý thuyết
7 Ném ngoại lệ (Raising Exceptions) - Thực hành
8 Ngoại lệ tùy chỉnh - Lý thuyết
9 Ngoại lệ tùy chỉnh - Thực hành
1 Mô tả dự án
2 Giải pháp dự án
1 Giới thiệu
2 Ôn tập: Decorator và Descriptor
3 Phương thức __new__ - Lý thuyết
4 Phương thức __new__ - Thực hành
5 Cách lớp được tạo - Lý thuyết
6 Cách lớp được tạo - Thực hành
7 Kế thừa từ type - Lý thuyết
8 Kế thừa từ type - Thực hành
9 Siêu lớp (Metaclasses) - Lý thuyết
10 Siêu lớp (Metaclasses) - Thực hành
11 Bộ trang trí lớp (Class Decorators) - Lý thuyết
12 Bộ trang trí lớp (Class Decorators) - Thực hành
13 Lớp trang trí (Decorator Classes) - Lý thuyết
14 Lớp trang trí (Decorator Classes) - Thực hành
15 Siêu lớp vs Bộ trang trí lớp - Lý thuyết
16 Siêu lớp vs Bộ trang trí lớp - Thực hành
17 Tham số siêu lớp - Lý thuyết
18 Tham số siêu lớp - Thực hành
19 Phương thức __prepare__ - Lý thuyết
20 Phương thức __prepare__ - Thực hành
21 Lớp, Siêu lớp và __call__
22 Ứng dụng Lập trình siêu dữ liệu 1
23 Ứng dụng Lập trình siêu dữ liệu 2
24 Ứng dụng Lập trình siêu dữ liệu 3
25 Bộ truy cập đọc thuộc tính - Lý thuyết
26 Bộ truy cập đọc thuộc tính - Thực hành
27 Bộ truy cập ghi thuộc tính - Lý thuyết
28 Bộ truy cập ghi thuộc tính - Thực hành
29 Ứng dụng Bộ truy cập (Accessors)
1 Python 3.10
2 Python 3.9
3 Python 3.8 / 3.7

Giới thiệu khóa học

This Python3: Deep Dive Part 4 course takes a closer look at object oriented programming (OOP) in Python.

MAIN COURSE TOPICS

  • what are classes and instances

  • class data and function attributes

  • properties

  • instance, class and static methods

  • polymorphism and the role special functions play in this

  • single inheritance

  • slots

  • the descriptor protocol and its relationship to properties and functions

  • enumerations

  • exceptions

  • metaprogramming (including metaclasses)


COURSE PREREQUISITES

Please note this is NOT a beginner level course. You must have a strong working knowledge of functional Python programming as well as some practical experience developing Python applications in order to fully benefit from this course.

  • In-depth functional Python programming

  • functions, closures, scopes, decorators (using and writing them)

  • zip, sorted, any, all, and the itertools module in general

  • sequences, iterables, iterators and generators (what they are and how to implement the corresponding protocols)

  • generators, yield, and context managers

  • mapping types, hashing and relation to object equality

  • some prior knowledge of basic OOP concepts

  • know how to work with Python virtual environments and pip install

  • available Jupyter Notebook (freely available) to follow along with the course notebooks

  • how to use git

[Please note that this is not a cookbook style course - I don't show you how to solve specific problems, but rather a broad and in-depth look at how OOP works in the context of Python, that will allow you to apply these concepts and techniques to your own problems.]

Khóa học liên quan

Khám phá thêm các khoá học cùng chủ đề

Hiển thị tất cả khoá học Object Oriented Programming
Hiển thị tất cả khoá học Programming
Hiển thị tất cả khoá học Python
Hiển thị tất cả khoá học Software Development
Zalo
Tôi có thể tư vấn khoá học cho bạn 😊