1.1 Lý thuyết: Ôn tập và quy ước

25 phút đọc

Ôn nhanh nền tảng

Trước khi vào OOP, hãy chắc chắn bạn thành thạo:

- Kiểu dữ liệu: int, float, str, bool, list, tuple, dict, set. - Rẽ nhánh if/elif/else, vòng lặp for/while, comprehension. - Hàm: tham số mặc định, *args, **kwargs, return nhiều giá trị. - Đọc ghi file với with, xử lý lỗi với try/except.

from collections import Counter

def top_tu(van_ban: str, n: int = 3) -> list[tuple[str, int]]:
    return Counter(van_ban.lower().split()).most_common(n)

print(top_tu("a b a c b a"))   # [('a', 3), ('b', 2), ('c', 1)]

Nhắc lại PEP 8

- snake_case cho biến và hàm, PascalCase cho lớp, CHU_HOA cho hằng số. - Thụt lề 4 dấu cách, dòng không quá 99 ký tự. - Hai dòng trống giữa hàm và lớp cấp ngoài, một dòng trống giữa các phương thức. - Import theo thứ tự: thư viện chuẩn, thư viện ngoài, module của dự án.

Type hints là gì?

Type hints (chú thích kiểu) ghi rõ kiểu dữ liệu mong đợi của tham số và giá trị trả về. Python không kiểm tra khi chạy, nhưng editor sẽ gợi ý tốt hơn và công cụ như mypy hoặc pyright phát hiện lỗi sai kiểu trước khi chạy.

def chao(ten: str, so_lan: int = 1) -> str:
    return ("Xin chào " + ten + "! ") * so_lan

tuoi: int = 18
diem: list[float] = [8.5, 9.0]
bang_diem: dict[str, float] = {"An": 8.5}

Các kiểu thường dùng

from typing import Optional, Union, Callable, Any

def tim(ten: str) -> dict | None: ...        # có thể trả về None (Python 3.10+)
def tim_cu(ten: str) -> Optional[dict]: ...  # cách viết cũ, tương đương

def doi(x: int | str) -> str: ...             # một trong nhiều kiểu
def ap_dung(f: Callable[[int], int], x: int) -> int:
    return f(x)

toa_do: tuple[int, int] = (1, 2)

Kiểm tra kiểu bằng mypy

pip install mypy
mypy main.py

Ví dụ mypy sẽ báo lỗi khi gọi chao(123) vì tham số ten cần kiểu str.

Khi nào nên dùng type hints?

- Luôn dùng cho tham số và giá trị trả về của hàm public. - Không cần chú thích biến cục bộ khi kiểu đã rõ ràng (x = 5). - Rất hữu ích khi làm việc nhóm và với framework như FastAPI, Pydantic (chúng dùng type hints để kiểm tra dữ liệu).

Ghi nhớ

- Type hints là tài liệu sống, không làm chậm chương trình. - Dùng X | None cho giá trị có thể vắng mặt. - Chạy mypy hoặc bật kiểm tra kiểu trong editor để tận dụng.

Đọc xong rồi? Đánh dấu để lưu tiến độ nhé.

Mục lục chương

0/2

Chương 1: Ôn tập và quy ước

Bài trước
Bài 1/2
Bài tiếp theo