Lớp hình chữ nhật với thuộc tính có kiểm tra
Một lớp đúng nghĩa không chỉ gom dữ liệu, nó còn giữ luật cho dữ liệu đó. Hình chữ nhật

Nâng cao tư duy kiến trúc phần mềm bằng cách đóng gói trạng thái và hành vi vào đối tượng. Thực hành từ các bài toán mô hình hóa thực tế đến thiết kế module mở rộng.
bài tập có chấm code
Bài tập theo chuyên đề, có đề bài, ví dụ và starter code riêng.
cơ bản
Củng cố nền tảng và làm quen với kỹ thuật cốt lõi.
trung bình
Kết hợp nhiều bước suy luận để vận dụng kiến thức.
nâng cao
Thử thách tối ưu, cấu trúc dữ liệu và thuật toán chuyên sâu.
Khai báo class, self, constructor __init__ và phương thức thể hiện.
Thuộc tính private, getter, setter với decorator @property an toàn.
Tái sử dụng code qua kế thừa, gọi super() và ghi đè logic phương thức cha.
Sử dụng dataclasses, các phương thức __str__, __repr__, __eq__.
Quên tham số self ở tham số đầu tiên của phương thức lớp.
Dùng giá trị mặc định là đối tượng khả biến (mutable) như list/dict trong constructor.
Trong mỗi mức độ, bài tập được xếp từ dễ nhất đến khó nhất — hãy đi theo số bước.
Một lớp đúng nghĩa không chỉ gom dữ liệu, nó còn giữ luật cho dữ liệu đó. Hình chữ nhật
Lớp là cách gom dữ liệu và quy tắc bảo vệ dữ liệu vào một chỗ. Chiếc ví là ví dụ nhỏ
Cài đặt lớp TemperatureSensor(celsius: float = 0.0):
Nhiệt độ là ví dụ kinh điển của một giá trị có miền hợp lệ: không gì lạnh hơn không độ
Tài khoản tiết kiệm làm được mọi việc của tài khoản thường, rồi thêm một việc riêng là
Cài đặt lớp BankAccount(account_number: str, initial_balance: float = 0.0):
Dùng một kỹ thuật quen thuộc: sắp xếp, tìm kiếm, đếm, ngăn xếp.
Viết lớp descriptor TypedRangeField:
Viết lớp WeakObjectCache:
1. Định nghĩa protocol @runtime_checkable có tên Serializable(Protocol):
Cài đặt lớp TokenBucket(rate: float, capacity: float):
Khi huấn luyện các mô hình AI tại AI Empire Academy, các siêu tham số (Hyperparameters) cần được đảm bảo tính toàn vẹn tuyệt đối: sau khi khởi tạo, không một hàm nào được phép thay…
Viết lớp AuditProxy:
Phối hợp hai kỹ thuật trong cùng một lời giải.
1. Lớp trừu tượng PaymentGateway(abc.ABC):
Cài đặt lớp CircularBuffer(capacity: int):
Cài đặt lớp Vector3D(x: float, y: float, z: float):
1. Lớp Employee(name: str, salary: float):
Cài đặt lớp Money(amount: float, currency: str):
Viết một metaclass PluginMeta(type):
Viết hàm lint_python_code(source_code: str) -> list[dict]:
Xây dựng cây kế thừa 4 lớp: