
pydantic
文章平均质量分 57
上海-悠悠
上海-悠悠 专注python自动化测试
展开
-
pydantic学习与使用-17.使用 json_encoders 格式化 datetime 类型
使用datetime 日期类型时,想格式化成自定义的`"%Y-%m-%d %H:%M:%S"` 格式原创 2023-10-18 19:21:16 · 564 阅读 · 0 评论 -
JavaScript 学习-49.localStorage前端保存数据
localstorage 在浏览器的 API 有两个:localStorage 和sessionStorage存在于 window 对象中:localStorage 对应 window.localStorage,sessionStorage 对应 window.sessionStorage。原创 2022-10-09 11:46:34 · 1151 阅读 · 0 评论 -
JavaScript 学习-48.$.ajaxSetup方法设置AJAX的全局默认设置
$.ajaxSetup方法用于设置AJAX的全局默认设置。之后执行的所有AJAX请求,如果对应的选项参数没有设置,将使用更改后的默认设置。这方便我们设置error 统一返回样式。原创 2022-10-09 11:45:52 · 3241 阅读 · 0 评论 -
pydantic学习与使用-14.exclude_unset去掉未传值的字段
使用 pydantic 定义数据模型,有些非必填的字段,我们希望在实例化时未传值的字段去掉,这样可以取值一些为None的字段。原创 2022-10-09 11:45:15 · 1327 阅读 · 0 评论 -
python asyncio 异步 I/O - 实现并发http请求(asyncio + aiohttp)
前言如果需要并发 http 请求怎么办呢?requests库是同步阻塞的,必须等到结果才会发第二个请求,这里需使用http请求异步库 aiohttp。环境准备aiohttp 用于 asyncio 和 Python 的异步 HTTP 客户端/服务器。使用pip安装对应的包。当前使用版本v3.8.1pip install aiohttp 并发http请求如果使用requests 库,发10个请求访问我的博客,那么这10个请求是串行的。import requestsimport timeu原创 2022-03-06 09:08:26 · 7081 阅读 · 0 评论 -
python asyncio 异步 I/O - 协程(Coroutine)与运行
前言Python 在 3.5 版本中引入了关于协程的语法糖 async 和 await, 在 python3.7 版本可以通过 asyncio.run() 运行一个协程。所以建议大家学习协程的时候使用 python3.7+ 版本,本文示例代码在 python3.8 上运行的。协程 coroutines协程(coroutines)通过 async/await 语法进行声明,是编写 asyncio 应用的推荐方式。例如,以下代码段(需要 Python 3.7+)import asyncioimpo原创 2022-03-06 09:07:56 · 1578 阅读 · 0 评论 -
FastAPI学习-1.环境准备与基础入门
前言FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。FastAPI 简介FastAPI 关键特性:快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydantic)。最快的 Python web 框架之一。高效编码:提高功能开发速度约 200% 至 300%。*更少 bug:减少约 40% 的人为(开发者)导致错误。*智能:极佳的编辑器支持。处处皆可自动补全原创 2022-03-06 09:07:24 · 826 阅读 · 0 评论 -
python笔记72 - 使用pathlib替代os.path
前言如果你还在为操作文件路径烦恼,不会使用os.path模块,那么是时候试试pathlib了。pathlib 库pathlib 库从 python3.4 开始,到 python3.6 已经比较成熟。如果你的新项目可以直接用 3.6 以上,建议用 pathlib。相比于老式的 os.path 有几个优势:老的路径操作函数管理比较混乱,有的是导入 os, 有的又是在 os.path 当中,而新的用法统一可以用 pathlib 管理。老用法在处理不同操作系统 win,mac 以及 linux 之间很吃原创 2022-03-06 09:06:54 · 931 阅读 · 1 评论 -
pydantic学习与使用-12.使用 Field 定制字段
前言Field 可用于提供有关字段和验证的额外信息,如设置必填项和可选,设置最大值和最小值,字符串长度等限制Field模块关于 Field 字段参数说明Field(None) 是可选字段,不传的时候值默认为NoneField(…) 是设置必填项字段title 自定义标题,如果没有默认就是字段属性的值description 定义字段描述内容from pydantic import BaseModel, Fieldclass Item(BaseModel): name: str原创 2022-03-06 09:06:23 · 7769 阅读 · 0 评论 -
pydantic学习与使用-11.pycharm插件pydantic 语法提示功能
前言虽然 pydantic 可以很好地与任何开箱即用的 IDE 配合使用,但在 PyCharm 的 JetBrains Plugins Repository 上提供了一个提供改进的 pydantic 集成的PyCharm 插件。可以更高效的帮助我们语法提示。pydantic 语法提示缺陷在编辑器中写以下代码的时候from pydantic import BaseModelclass User(BaseModel): id: int name = 'yo yo'user原创 2022-03-06 09:05:53 · 1466 阅读 · 0 评论 -
pydantic学习与使用-10.日期时间类型(datetime)
前言Pydantic 支持 datatime 模块的日期和时间类型datetime 日期时间类型datetime字段可以是:datetime, 现有datetime对象int或float,假定为 Unix 时间,即自 1970 年 1 月 1 日以来的秒数(if >= -2e10 or <= 2e10))或毫秒 (if < -2e10or > 2e10)str, 以下格式有效:YYYY-MM-DD[T]HH:MM[:SS[.ffffff]][Z or [±]HH[:]原创 2022-03-06 09:05:22 · 1898 阅读 · 0 评论 -
pydantic学习与使用-9.枚举类型(enum)
前言python3 内置的enum 模块可以支持枚举类型,此模块定义了四个枚举类,用来定义名称与值的唯一组合: Enum、IntEnum、Flag 和 IntFlag。此外,还定义了一个装饰器unique(), 和一个辅助类auto。枚举是由 class 句法创建的,这种方式易读、易写。枚举类型pydantic使用 python 的标准enum类来定义选择。from enum import Enum, IntEnumfrom pydantic import BaseModel, Validat原创 2022-03-06 09:04:52 · 2379 阅读 · 0 评论 -
pydantic学习与使用-8.required-fields必填字段省略号( ...)
前言必填字段可以仅用注释来声明,也可以使用省略号 ( …) 作为值:必填字段必填字段,可以仅用注释来声明,以下name和age2个字段是必填字段from pydantic import BaseModelclass User(BaseModel): name: str age: int city: str = '上海市'必填字段也可以使用省略号 ( …) 作为值from pydantic import BaseModelclass User(BaseMode原创 2022-03-06 09:04:18 · 2460 阅读 · 0 评论 -
pydantic学习与使用-7.字段顺序field-ordering
前言字段顺序在模型中很重要,原因如下:在定义的顺序字段中执行验证;字段验证器 可以访问较早字段的值,但不能访问较晚字段的值字段顺序保留在模型模式中字段顺序保留在验证错误中字段顺序由dict()和json()等保存。字段顺序 field-ordering从v1.0开始,所有带有注释的字段(无论是仅注释还是带有默认值)都将位于所有没有注释的字段之前。在它们各自的组中,字段保持它们定义的顺序。from pydantic import BaseModel, ValidationErrorc原创 2022-02-25 08:49:27 · 452 阅读 · 0 评论 -
pydantic学习与使用-6.dataclasses 验证器
前言validator 验证器也可以应用于 pydantic dataclasses.pydantic dataclassespydantic 里面的 dataclassesdata 是 dataclasses.dataclass 和 validation 的结合。from datetime import datetimefrom pydantic import validatorfrom pydantic.dataclasses import dataclass@dataclassc原创 2022-02-25 08:45:34 · 498 阅读 · 0 评论 -
pydantic学习与使用-5.dataclasses 数据类的学习使用
前言python3.7 的新特性 dataclass,dataclass是指“一个带有默认值的可变的namedtuple”,广义的定义就是有一个类,它的属性均可公开访问。dataclass简介dataclass 的属性可以带有默认值并能被修改,而且类中含有与这些属性相关的类方法,那么这个类就可以称为dataclass,再通俗点讲,dataclass就是一个含有数据及操作数据方法的容器。相比普通class,dataclass通常不包含私有属性,数据可以直接访问dataclass的repr方法通常原创 2022-02-25 08:44:38 · 2288 阅读 · 0 评论 -
pydantic学习与使用-4.validator 验证器的使用(pre 和 each_itemm 验证器)
前言validator 使用装饰器可以实现自定义验证和对象之间的复杂关系。验证器1.校验name字段包含空格2.校验username 必须是字母和数字组成3.校验密码1和密码2相等from pydantic import BaseModel, ValidationError, validatorclass UserModel(BaseModel): name: str username: str password1: str password2: str原创 2022-02-25 08:44:02 · 13547 阅读 · 0 评论 -
pydantic学习与使用-3.Typing 类型中的 Optional 和 Union
前言在python 函数和类中,参数声明时可以声明参数是必填类型,也可以给参数设置默认值。函数中的参数以下函数,参数a是必填项,b给了默认值,是可选项。a参数声明为int类型b参数声明为int类型,并给了默认值1-> int 是声明函数返回值是int类型def fuc1(a: int, b: int = 1) -> int: print('a+b的值为:', a+b) return a+bif __name__ == '__main__': fuc原创 2022-02-25 08:43:32 · 4922 阅读 · 0 评论 -
pydantic学习与使用-2.基本模型(BaseModel)使用
前言在 pydantic 中定义对象的主要方法是通过模型(模型继承 BaseModel )。pydantic主要是一个解析库,而不是验证库。验证是达到目的的一种手段:建立一个符合所提供的类型和约束的模型。换句话说,pydantic保证输出模型的类型和约束,而不是输入数据。虽然验证不是pydantic的主要目的,但您可以使用此库进行自定义验证。基本模型使用User这是一个模型,它有两个字段id,一个是整数,是必需的,name一个是字符串,不是必需的(它有一个默认值)from pydantic i原创 2022-02-25 08:42:41 · 4756 阅读 · 0 评论 -
pydantic学习与使用-1.pydantic简介与基础入门
前言版本文档:v1.9.0使用 python 类型注释的数据验证和设置管理。pydantic在运行时强制执行类型提示,并在数据无效时提供用户友好的错误。定义数据应该如何在纯粹的、规范的 python 中;并使用 pydantic 对其进行验证。pydantic 简介pydantic 主要是一个解析库,而不是验证库。验证是达到目的的一种手段:建立一个符合所提供的类型和约束的模型。换句话说,pydantic 保证输出模型的类型和约束,而不是输入数据。这听起来像是一个深奥的区别,但事实并非如此。原创 2022-02-25 08:42:11 · 8466 阅读 · 0 评论