Типизация данных: TypedDict, dataclasses и Pydantic
Структуры данных – это основа любого приложения. И именно здесь типизация приносит максимальную пользу: меньше ошибок, лучше документация, надёжные контракты в API.
Вот что сегодня используют чаще всего.
🔹 1. TypedDict – строгие словари для JSON
class Product(TypedDict):
id: int
title: str
price: float
Преимущество:
— IDE знает, какие ключи есть,
— ловятся опечатки,
— структура данных однозначна.
🔹 2. dataclasses — лёгкие модели для бизнес-логики
from dataclasses import dataclass
@dataclass
class Config:
host: str
port: int
debug: bool = False
Объекты создаются просто, читаются легко, типы всегда на виду.
🔹 3. Pydantic — валидация + типизация в одном инструменте
from pydantic import BaseModel
class UserModel(BaseModel):
id: int
email: str
user = UserModel(id=1, email="test@example.com")
Pydantic автоматически преобразует типы, проверяет структуру и выдаёт красивые ошибки. Практически стандарт для FastAPI и любых сервисов.
Эти три подхода закрывают разные уровни работы с данными: от внешних API до внутренней логики.
➡️ В следующем посте — типизация архитектуры: Protocol, Literal, Enum. (следите за обновлениями и поддержите канал через boost https://t.me/boost/phytonrepoz)