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
Không có bình luận