Pydantic :基于 Python 类型注解(type hints)的数据验证和数据解析库

Pydantic 是一个基于 Python 类型注解(type hints)的数据验证和数据解析库。它最主要的功能是:保证数据的结构正确,并且自动地进行数据类型转换

它的特点可以总结为:

  • 类型安全:根据你定义的模型(Model),Pydantic 自动验证传入的数据类型是否正确。
  • 数据校验:支持复杂的数据校验逻辑,比如字符串长度、数字范围等。
  • 自动转换:如果数据类型可以被自动转换(比如字符串 "123" 转成整数 123),Pydantic 会智能地完成。
  • 易用性强:非常简洁,易于与 FastAPI 等现代 Python 框架集成。
  • 性能优秀:底层用 Cython 优化,速度很快。

一个简单的例子

from pydantic import BaseModel

class User(BaseModel):
    id: int
    name: str
    signup_ts: str | None = None
    friends: list[int] = []

# 创建数据对象
user = User(id='123', name='Tom', friends=[1, 2, '3'])

print(user)
print(user.id)          # 自动转换 id 为整数
print(user.friends)     # 自动将字符串 '3' 转换为整数 3

输出:

id=123 name='Tom' signup_ts=None friends=[1, 2, 3]
123
[1, 2, 3]

你可以看到,id 字段虽然传的是字符串 "123",Pydantic 自动帮你转成了整数 123,而且 friends 列表里的 "3" 也被转成了数字 3


常见应用场景

  • API开发(尤其是与 FastAPI 配合时)
  • 配置文件管理(比如读取 JSON/YAML 配置时)
  • 数据导入校验(如用户上传 CSV/Excel 数据时)
  • ORM层数据验证(数据库模型验证)

你可能感兴趣的:(python,linux,数据库)