from pydantic import BaseModel, ValidationError, validator
# 定义一个 Pydantic 模型类
class User(BaseModel):
id: int
name: str
signup_ts: float = None
# 自定义验证器,确保名字长度大于2
@validator('name')
def name_must_be_valid(cls, v):
if len(v) <= 2:
raise ValueError('name must be longer than 2 characters')
return v
# 创建 User 实例
user = User(id=123, name='John Doe', signup_ts=123456789.0)
# 打印 User 实例
print(user)
# 尝试创建一个无效的 User 实例
try:
invalid_user = User(id=123, name='Jo')
except ValidationError as e:
print(e)
BaseModel 是 Pydantic 的基类,用于定义数据模型。User 类继承自 BaseModel,并定义了三个字段:id、name 和 signup_ts。其中 signup_ts 是可选字段,默认值为 None。@validator 装饰器定义了一个自定义验证器,确保 name 字段的长度大于2个字符。User 实例时,Pydantic 会自动验证传入的数据,并在验证失败时抛出 ValidationError 异常。try-except 块捕获并处理验证错误。这段代码展示了如何使用 Pydantic 进行数据验证和模型定义。
上一篇:python解方程
Laravel PHP 深圳智简公司。版权所有©2023-2043 LaravelPHP 粤ICP备2021048745号-3
Laravel 中文站