用途:Pydantic 通过 Python 类型提示进行类型驱动的数据校验与序列化,适合定义数据结构、校验请求/响应载荷、规范化不可信输入以及为文档生成 JSON Schema。
主要能力:支持类型化字段定义严格模式;提供字段校验器(field_validator)实现自定义校验逻辑;提供模型校验器进行跨字段检查;通过 model_dump() 与 model_dump_json() 完成序列化;通过 BaseSettings 支持环境变量驱动的配置。
使用方式:安装命令为 uv pip install pydantic。定义模型时继承 BaseModel 并声明带类型的字段,例如 class User(BaseModel) 中定义 id: int 与 email: str,然后以 User(id=1, email="a@example.com") 实例化。可用 Model.model_validate({"foo": 1}) 从字典校验并构造模型,再用 model.model_dump() 输出字典。字段校验器示例:在模型内定义 @field_validator("name") 与 @classmethod 装饰的方法,对值做检查并在不合法时抛出 ValueError。
适用场景:校验请求与响应载荷、清洗与规范化外部输入、生成 JSON Schema 供接口文档使用、以及基于环境变量的配置管理。
限制与注意事项:资料提示需注意类型强制转换带来的意外结果,必要时使用严格类型;校验器应保持精简以避免性能下降;可变默认值应使用 default_factory。更多细节可参考 https://docs.pydantic.dev/。