Type hints trong Python: gợi ý kiểu dữ liệu

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ì.

Lên đầu trang