python库pydantic的BaseModel
pydantic库是python中用于数据接口定义检查与设置管理的库。
pedantic在运行时强制执行类型提示,并在数据无效时提供友好的错误。
安装:
pip install pydantic
常见类型:
1. BaseModel 基本模型
from pydantic import BaseModel class User(BaseModel): id: int, name = 'Tom'
上面的例子,定义了一个User模型,继承自BaseModel,有2个字段,id是一个整数并且是必需的,name是一个带有默认值的字符串并且不是必需的。
实例化使用: user = User(id=123)
实例化将执行所有解析和验证,如果有错误则会触发ValidationError报错
模型具有以下属性:
- dict() 模型字段和值的字典
- json() JSON 字符串表示
dict()
- copy() 模型的副本(默认为浅表副本)
- parse_obj() 使用dict解析数据
- parse_raw 将str或bytes并将其解析为json,然后将结果传递给
parse_obj
- parse_file 文件路径,读取文件并将内容传递给
parse_raw
。如果content_type
省略,则从文件的扩展名推断 - from_orm() 从ORM 对象创建模型
- schema() 返回模式的字典
- schema_json() 返回该字典的 JSON 字符串表示
- construct() 允许在没有验证的情况下创建模型
- fields_set 初始化模型实例时设置的字段名称集
- fields 模型字段的字典
- config 模型的配置类
具体可参考:
https://www.jianshu.com/p/a1a1ec3aa395
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 全程不用写代码,我用AI程序员写了一个飞机大战
· DeepSeek 开源周回顾「GitHub 热点速览」
· 记一次.NET内存居高不下排查解决与启示
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!