Что такое __post_init__ в dataclass?

Middle
196 просмотров
AFK Offer AI

__post_init__ вызывается после автоматически сгенерированного __init__. Используй для: валидации (raise ValueError если данные невалидны), вычисляемых полей (self.full_name = f"{self.first} {self.last}"), преобразования типов (self.date = datetime.fromisoformat(self.date) если пришла строка). InitVar[type] — специальный тип для параметров, которые нужны только в __post_init__, но не сохраняются как атрибуты. __post_init__ получает InitVar параметры как аргументы.

Следующий вопрос

Реализуйте async тест с pytest-asyncio