Исследуйте улучшенные возможности проверки данных Pydantic V2
Раскройте новые возможности проверки данных с помощью Pydantic V2
Узнайте о новых функциях и синтаксисах Pydantic V2

Проверка данных является краеугольным камнем для надежных приложений в постоянно развивающейся области разработки данных и программного обеспечения. Обеспечение чистоты и точности данных необходимо не только для надежности приложений, но и для пользовательского опыта.
Pydantic – самая популярная библиотека проверки данных для Python. Ядро новой версии (V2) Pydantic было переписано на Rust и имеет гораздо лучшую производительность по сравнению с предыдущей версией. Кроме того, были внесены некоторые значительные улучшения в функциональность, такие как поддержка строгого режима, проверка без модели, очистка пространства имен модели и т. д.
В этом посте мы подробно рассмотрим последние функции и улучшенную производительность мощных возможностей проверки данных Pydantic, которые предлагают разработчикам комплексный набор инструментов для работы с данными любого типа.
Подготовка
Для выполнения примеров в этом посте у вас должна быть установлена современная версия Python (≥ 3.10) и последняя версия Pydantic V2. Рекомендуется управлять разными версиями Python и библиотек с помощью виртуальной среды conda:
- Преобразование текстов в числовую форму с помощью TfidfVectorizer пошаговое руководство
- Этические границы генеративного искусственного интеллекта введение и важность
- «Как избежать пяти распространенных ошибок в Google BigQuery / SQL»
conda create -n pydantic2 python=3.11conda activate pydantic2pip install -U pydantic
Основное использование
Обычно с использованием Pydantic нам нужно сначала определить схему наших данных с помощью моделей, которые являются просто классами, наследующими от BaseModel
. В этих моделях типы данных каждого поля определяются с помощью подсказок типов.
from pydantic import BaseModelclass ComputerModel(BaseModel): brand: str cpu: str storage: int ssd: bool = True
Чтобы использовать эту модель для проверки, мы можем создать экземпляр, передав значения для каждого поля:
input_dict = {"brand": "HP", "cpu": "Intel i7 1265U", "storage": "256"}computer = ComputerModel(**input_dict)print(computer)# brand='HP' cpu='Intel i7 1265U' storage=256 ssd=True
Строковые данные для поля storage
приводятся к целому числу, которое определено в модели.