Pydantic模型 简单示例

Pydantic 是一个用于数据验证和设置管理的 Python 库,它使用类型提示来验证数据,并在数据不满足类型约束时提供清晰的错误信息。

from pydantic import BaseModel, EmailStr, ValidationError

# 定义一个Pydantic模型
class User(BaseModel):
    id: int
    name: str = "John Doe"  # 设置默认值
    email: EmailStr         # 使用Pydantic提供的类型
    is_active: bool = True  # 设置默认值

# 创建一个有效的用户实例
user_data = {
    "id": 1,
    "name": "Alice Smith",
    "email": "alice@example.com",
    "is_active": False
}

try:
    user = User(**user_data)
    print(f"有效用户: {user.name} ({user.email})")
    print(f"ID类型: {type(user.id).__name__}")  # 自动类型转换
except ValidationError as e:
    print(f"验证错误: {e}")

# 创建一个无效的用户实例(邮箱格式错误)
invalid_data = {
    "id": 2,
    "name": "Bob Johnson",
    "email": "invalid_email",  # 无效邮箱
    "is_active": True
}

try:
    invalid_user = User(**invalid_data)
except ValidationError as e:
    print(f"\n验证错误详情:")
    for error in e.errors():
        print(f"- {error['loc'][0]}: {error['msg']}")

 

posted @ 2025-06-24 16:28  土星狗蛋  阅读(45)  评论(0)    收藏  举报