python高级用法之pydantic

Pydantic 是一个基于 Python 类型提示的数据验证库。它利用 Python 的类型注解来定义数据模型,并自动进行类型检查、数据验证和错误处理。它被一些顶级的Python模块所采用,其中特别包括Hugging Face、FastAPI和Langchain。

优势:

  • IDE 类型提示:通过数据建模,可以获得更好的IDE对类型提示和自动补全的支持。
  • 数据验证:通过使用Pydantic验证数据,当创建对象时,可以确保数据的绝对正确性,从而避免了可能的错误和后续的失败。
  • JSON序列化:如果你需要将数据转换为通用格式,如JSON,它还提供了一种简单的方法来序列化你的对象。

基本使用

from pydantic import BaseModel, Field
from typing import Optional

# 定义模型
class User(BaseModel):
    username: str
    email: str
    age: Optional[int] = Field(None, ge=18)  # 可选字段,且年龄必须大于等于18

# 通过关键字参数创建实例
# user = User(username="zhangsan", email="1111@qq.com", age=18)
# 通过解包字典创建实例
user_data = {
    "username": "alice",
    "email": "alice@example.com",
    "age": 25
}

user = User(**user_data)
print(user.username)  # 输出: alice
# 转换为字典
print(user.model_dump())    # 输出: {'username': 'alice', 'email': 'alice@example.com', 'age': 25}
# 转换为JSON
print(user.model_dump_json()) # {"username":"alice","email":"alice@example.com","age":25}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值