每天分享一个好用的Python库-pydantic
目录
前言
Python中有许多好用、有意思的库,有一些可以大大提高开发效率,有的可以为我们解决很多棘手的问题,从今天开始我会每天给大家分享一个Python库。今天分享的是一个数据校验库—pydantic
pydantic
简介
pydantic 利用 Python 的类型注解(type hints)来做数据解析和校验,数据不对就抛出清晰的错误,特别适合做接口入参校验、配置文件解析。著名的 FastAPI 框架的数据校验就是基于 pydantic 的。
安装
-
使用
pip进行安装1$ pip install pydantic
简单使用
-
定义模型并校验数据
1 2 3 4 5 6 7 8 9 10from datetime import date from pydantic import BaseModel class Article(BaseModel): title: str views: int = 0 published: date article = Article(title='一篇文章学会Git', views=100, published='2019-05-11') print(article.published) # 2019-05-11,字符串被自动转成了 date 对象 -
类型不对会报友好的错误
1 2 3>>> Article(title='测试', views='很多', published='2019-05-11') ValidationError: 1 validation error for Article views -> value is not a valid integer (type=type_error.integer)
小结
做 Web 后台或者写 SDK 的时候,用 pydantic 把"数据长什么样"声明出来,剩下的校验、转换它全包了,代码会干净很多。