Python là ngôn ngữ động — bạn không bắt buộc khai báo kiểu. Nhưng từ Python 3.5, “type hints” cho phép gợi ý kiểu dữ liệu, giúp code rõ ràng và ít lỗi hơn.
Type hints cơ bản
def chao(ten: str) -> str:
return f"Xin chào, {ten}"
tuoi: int = 25
gia: float = 9.99
hoat_dong: bool = True
Kiểu cho tập hợp
def tong(so: list[int]) -> int:
return sum(so)
diem: dict[str, float] = {"toan": 8.5}
toa_do: tuple[int, int] = (10, 20)
Optional và Union
from typing import Optional
def tim(id: int) -> Optional[str]:
# trả về str hoặc None
...
def xu_ly(x: int | str) -> None: # Python 3.10+
...
Type hints KHÔNG bắt buộc lúc chạy
Quan trọng: Python không kiểm tra type hints khi chạy — chúng chỉ là gợi ý. Muốn kiểm tra, dùng công cụ như mypy:
mypy chuong_trinh.py
Vì sao nên dùng?
- Tài liệu sống: người đọc biết ngay hàm nhận và trả về gì.
- IDE gợi ý tốt hơn: tự động hoàn thành chính xác.
- Bắt lỗi sớm: mypy phát hiện lỗi kiểu trước khi chạy.
Với dự án nhỏ, type hints là tùy chọn. Với dự án lớn hoặc nhiều người, chúng gần như là bắt buộc để giữ code dễ bảo trì.
