Nhảy đến nội dung chính

TypedDict

TypedDict là một lớp đặc biệt trong module typing (hoặc typing_extensions cho Python < 3.8), cho phép bạn định nghĩa dictionary có cấu trúc rõ ràng và kiểm soát kiểu dữ liệu giống như một class.

Cú pháp cơ bản:

from typing import TypedDict

class Person(TypedDict):
    name: str
    age: int

Ở đây, Person là một dictionary mà:

  • name phải là chuỗi (str)

  • age phải là số nguyên (int)

def greet(person: Person):
    print(f"Hello {person['name']}, you are {person['age']} years old.")

greet({"name": "Alice", "age": 30})  # ✅ hợp lệ
greet({"name": "Bob", "age": "thirty"})  # ❌ IDE hoặc mypy sẽ cảnh báo

So sánh với dict bình thường:

Bình thường TypedDict
Tự do về kiểu dữ liệu Có kiểm tra kiểu
Không hỗ trợ autocomplete Hỗ trợ autocomplete
Dễ gây lỗi do sai tên/kiểu An toàn hơn

Tác giả: Đỗ Ngọc Tú
Công Ty Phần Mềm VHTSoft