当前位置: 首页 > news >正文

python-51-使用最广泛的数据验证库Pydantic

文章目录

  • 1 Pydantic
  • 2 models
    • 2.1 基本模型应用
      • 2.1.1 实例化
      • 2.1.2 访问属性
      • 2.1.3 修改属性
    • 2.2 嵌套模型【Optional】
  • 3 Fields
    • 3.1 Field()函数
    • 3.2 带注释的模式Annotated
    • 3.3 默认值
      • 3.3.1 default参数
      • 3.3.2 default_factory
    • 3.4 字段别名
    • 3.5 数字约束
    • 3.6 字符串约束
    • 3.7 严格模式
  • 4 Annotated
    • 4.1 基础用法
    • 4.2 结合Pydantic使用Annotated
  • 5 参考附录

1 Pydantic

Pydantic 并不是一个缩写词。它是一个Python库的名字,由两个词根组合而成:“Python”和“Data Validation”,表明这是一个用于Python的数据验证和设置管理库。

Pydantic强调使用类型注解来提供一套既强大又易于使用的数据验证和设置管理工具,特别适合构建API、处理配置文件或任何需要解析和验证输入数据的场景。它通过静态类型注解提供类型检查,并在运行时验证数据,确保数据符合预期的格式,从而帮助开发者减少错误并提高代码质量。

FastAPI充分地利用了Pydantic的优势,用它在后台校验数据。

Pydantic是Python使用最广泛的数据验证库,基于Python类型提示来实现数据的校验和设定限制条件。
在Pydantic中,BaseModel是一个核心基类,用于创建数据模型。
安装pip install pydantic。
Pydantic有一些依赖项:
(1)pydantic-core:用 rust 编写的pydantic的核心验证逻辑。
(2)typing-extensions:标准库类型模块的反向移植。
(3)annotated-types:可重复使用的约束类型typing.Annotated。

2 models

相关文章:

  • < 自用文儿 > CertBot 申请 SSL 证书 使用 challenge 模式 避开防火墙的阻挡
  • 超图(Hypergraph)
  • 【A2DP】MPEG - 2/4 AAC 编解码器互操作性要求详解
  • 如何选择缓存模式?
  • 深入体验Manus:开源版本复刻之旅
  • 基于STC89C52的8x8点阵贪吃蛇游戏
  • 3.3.2 用仿真图实现点灯效果
  • Bert的使用
  • SyntaxError: Invalid or unexpected token in JSON at position x
  • STM32读写片内FLASH 笔记
  • 【Pandas】pandas Series unstack
  • 《UE5_C++多人TPS完整教程》学习笔记34 ——《P35 网络角色(Network Role)》
  • windows下使用msys2编译ffmpeg
  • 目录扫描工具深度对比:Dirb、Dirsearch、DirBuster、Feroxbuster 与 Gobuster
  • UDP学习笔记(一)为什么UDP需要先将数据转换为字节数组
  • python-leetcode-统计构造好字符串的方案数
  • 蓝桥杯-15届研究生组-A 劲舞团
  • IDEA2023 使用枚举类型java: 非法字符: ‘\ufffd‘
  • 超链接打开新页签传递参数
  • 【目标检测】Efficient Feature Fusion for UAV Object Detection
  • 做影视网站如何通过备案/搜狐酒业峰会
  • 做网站界面需要注意什么/seo优化方案
  • 在虚拟主机上建设多个网站/搜索引擎优化方法有哪几种
  • 网站开发最后五个阶段/腾讯会议多少钱一个月
  • 电子商务网站建设规划书/自己如何开网站
  • 网站建设哪家服务好/深圳网站开发技术