学习 Pydantic V2 的新功能和语法

数据验证是数据工程和软件开发领域中稳健应用的基石。确保数据的清洁性和准确性不仅对应用的可靠性至关重要,而且对用户体验也十分重要。
Pydantic 是 Python 最广泛使用的数据验证库。最新版本(V2)的 Pydantic 核心已经使用 Rust 重写,并且相比之前版本有着更好的性能。此外,还对支持严格模式、无模型验证、模型命名空间清理等功能进行了一些重大改进。
本文将深入探讨 Pydantic 强大的数据验证能力的最新功能和增强性能,为开发人员提供一套全面的数据处理工具集。
准备工作
为了跟随本文中的示例,您应该安装一个现代版本的 Python(≥ 3.10)和最新版本的 Pydantic V2。建议使用 conda 虚拟环境来管理不同版本的 Python 和库:
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
的字符串数据将被强制转换为定义的整数类型。