简介
- pydantic是一个用于数据验证和解析的Python库。BaseModel是pydantic库中的一个基类,用于定义数据模型。
- BaseModel提供了一种声明性的方式来定义数据模型,包括字段类型、验证规则和默认值。通过继承BaseModel,可以定义自己的数据模型类,并使用类属性来定义字段。
简单示例
from pydantic import BaseModel
class User(BaseModel): # 继承 BaseModel
name: str
age: int
email: str
id: int = 0001 # 非必要字段,也可修改
# 实例化
user_data = {
"name": "John Doe",
"age": 30,
"email": "john.doe@example.com"
}
user1 = User(**user_data)
user2 = User(name='joe',
age=22,
email='joe.doe@example.com',
id=0002)
在上面的示例中,我们定义了一个名为User的数据模型类,继承自BaseModel。User类有三个字段:name(字符串类型)、age(整数类型)和email(字符串类型)。在这个例子中,id字段还定义了一个默认值,即0001。如果在实例化User对象时没有提供id字段的值,那么它将默认为0001。
我们可以使用user_data字典中的数据来实例化User类,并通过**操作符将字典中的键值对传递给User类的构造函数。pydantic会根据字段类型进行数据验证,并自动将输入数据转换为字段指定的类型。
如果输入数据不符合字段的验证规则,pydantic会引发ValidationError异常,并提供有关验证错误的详细信息。
补充
更详细用法参考:Python 利用Pydantic模块提升开发效率