
参考链接:Pydantic官方文档
Pydantic 是一个 Python 库,主要用于数据验证和管理。数据验证是指检查数据是否符合预定的规则和格式,比如检查数据类型是否正确,是否缺少必要的字段等。数据管理是指定义数据的结构和行为,比如设置默认值,转换数据类型等。
以下是 Pydantic 的一些基本操作语法:
定义数据模型
首先,通过继承 Pydantic 提供的 BaseModel 类定义一个数据模型:
from pydantic import BaseModel
class User(BaseModel):
id: int
name: str
email: str
is_active: bool = True
在这个例子中,定义了 User 数据模型,有四个字段:id(整数类型)、name(字符串类型)、email(字符串类型)和 is_active(布尔类型,默认值为 True)。
创建模型实例
创建数据模型的实例非常简单,只需要按照定义的字段传递相应的值即可:
user = User(id=1, name="John Doe", email="john.doe@example.com")
如果某个字段有默认值,你可以选择不提供它:
user = User(id=1, name="John Doe", email="john.doe@example.com") # is_active 将默认为 True
数据验证
当创建模型实例时,Pydantic 会自动进行数据验证。如果数据不符合定义的类型,会进行报错:
try:
user = User(id="not_an_integer", name="John Doe", email="john.doe@example.com")
except ValidationError as e:
print(str(e)) # 输出错误信息
数据转换
Pydantic 可以自动进行数据类型转换。例如,如果传递一个字符串类型的 id,Pydantic 会自动将其转换为整数类型:
user = User(id="1", name="John Doe", email="john.doe@example.com")
print(user.id) # 输出: 1
模型转换
Pydantic 可以将模型转换为字典或 JSON 格式:
user_dict = user.dict()
print(user_dict) # 输出: {'id': 1, 'name': 'John Doe', 'email': 'john.doe@exam

本文详细介绍了Pydantic库如何用于数据验证、模型定义、实例创建、数据转换以及自定义验证逻辑,包括字段类型、默认值、模式和别名等特性。
最低0.47元/天 解锁文章

983

被折叠的 条评论
为什么被折叠?



