02 2022 档案
摘要:# 前言 在开发restful接口的时候,会遇到接口路径带参数的情况,比如 - 查询单个 book 接口:get `/api/v1/book/{id}` - 修改单个 book 接口:put `/api/v1/book/{id}` - 删除单个 book 接口: delete `/api/v1/bo
阅读全文
摘要:前言 如果需要并发 http 请求怎么办呢?requests库是同步阻塞的,必须等到结果才会发第二个请求,这里需使用http请求异步库 aiohttp。 环境准备 aiohttp 用于 asyncio 和 Python 的异步 HTTP 客户端/服务器。 使用pip安装对应的包。当前使用版本v3.8
阅读全文
摘要:前言 Python 在 3.5 版本中引入了关于协程的语法糖 async 和 await, 在 python3.7 版本可以通过 asyncio.run() 运行一个协程。 所以建议大家学习协程的时候使用 python3.7+ 版本,本文示例代码在 python3.8 上运行的。 协程 corout
阅读全文
摘要:前言 FastAPI 是一个用于构建 API 的现代、快速(高性能)的 web 框架,使用 Python 3.6+ 并基于标准的 Python 类型提示。 FastAPI 简介 FastAPI 关键特性: 快速:可与 NodeJS 和 Go 比肩的极高性能(归功于 Starlette 和 Pydan
阅读全文
摘要:前言 如果你还在为操作文件路径烦恼,不会使用os.path模块,那么是时候试试pathlib了。 pathlib 库 pathlib 库从 python3.4 开始,到 python3.6 已经比较成熟。如果你的新项目可以直接用 3.6 以上,建议用 pathlib。相比于老式的 os.path 有
阅读全文
摘要:前言 Field 可用于提供有关字段和验证的额外信息,如设置必填项和可选,设置最大值和最小值,字符串长度等限制 Field模块 关于 Field 字段参数说明 Field(None) 是可选字段,不传的时候值默认为None Field(...) 是设置必填项字段 title 自定义标题,如果没有默认
阅读全文
摘要:前言 虽然 pydantic 可以很好地与任何开箱即用的 IDE 配合使用,但在 PyCharm 的 JetBrains Plugins Repository 上提供了一个提供改进的 pydantic 集成的PyCharm 插件。 可以更高效的帮助我们语法提示。 pydantic 语法提示缺陷 在编
阅读全文
摘要:前言 Pydantic 支持 datatime 模块的日期和时间类型 datetime 日期时间类型 datetime字段可以是: datetime, 现有datetime对象 int或float,假定为 Unix 时间,即自 1970 年 1 月 1 日以来的秒数(if >= -2e10 or ⇐
阅读全文
摘要:前言 python3 内置的enum 模块可以支持枚举类型,此模块定义了四个枚举类,用来定义名称与值的唯一组合: Enum、IntEnum、Flag 和 IntFlag。此外,还定义了一个装饰器unique(), 和一个辅助类auto。 枚举是由 class 句法创建的,这种方式易读、易写。 枚举类
阅读全文
摘要:前言 必填字段可以仅用注释来声明,也可以使用省略号 ( ...) 作为值: 必填字段 必填字段,可以仅用注释来声明,以下name和age2个字段是必填字段 from pydantic import BaseModel class User(BaseModel): name: str age: int
阅读全文
摘要:前言 字段顺序在模型中很重要,原因如下: 在定义的顺序字段中执行验证;字段验证器 可以访问较早字段的值,但不能访问较晚字段的值 字段顺序保留在模型模式中 字段顺序保留在验证错误中 字段顺序由dict()和json()等保存。 字段顺序 field-ordering 从v1.0开始,所有带有注释的字段
阅读全文
摘要:前言 validator 验证器也可以应用于 pydantic dataclasses. pydantic dataclasses pydantic 里面的 dataclassesdata 是 dataclasses.dataclass 和 validation 的结合。 from datetime
阅读全文
摘要:前言 python3.7 的新特性 dataclass,dataclass是指“一个带有默认值的可变的namedtuple”,广义的定义就是有一个类,它的属性均可公开访问。 dataclass简介 dataclass 的属性可以带有默认值并能被修改,而且类中含有与这些属性相关的类方法,那么这个类就可
阅读全文
摘要:前言 validator 使用装饰器可以实现自定义验证和对象之间的复杂关系。 验证器 1.校验name字段包含空格 2.校验username 必须是字母和数字组成 3.校验密码1和密码2相等 from pydantic import BaseModel, ValidationError, valid
阅读全文
摘要:前言 在python 函数和类中,参数声明时可以声明参数是必填类型,也可以给参数设置默认值。 函数中的参数 以下函数,参数a是必填项,b给了默认值,是可选项。 a参数声明为int类型 b参数声明为int类型,并给了默认值1 → int 是声明函数返回值是int类型 def fuc1(a: int,
阅读全文
摘要:前言 在 pydantic 中定义对象的主要方法是通过模型(模型继承 BaseModel )。 pydantic主要是一个解析库,而不是验证库。验证是达到目的的一种手段:建立一个符合所提供的类型和约束的模型。 换句话说,pydantic保证输出模型的类型和约束,而不是输入数据。 虽然验证不是pyda
阅读全文
摘要:前言 版本文档:v1.9.0 使用 python 类型注释的数据验证和设置管理。 pydantic在运行时强制执行类型提示,并在数据无效时提供用户友好的错误。 定义数据应该如何在纯粹的、规范的 python 中;并使用 pydantic 对其进行验证。 pydantic 简介 pydantic 主要
阅读全文
摘要:前言 经常看到很多同学问到,如何在 yaml 文件中引用一个 python 的函数? 问题分析 大家对yaml文件还处于比较陌生的阶段,yaml 和 json 文件本质上是一样的,都是静态的文件,当然不能直接引用 python 的函数。 那这时候就有人问到了,那为什么 httprunner 框架可以
阅读全文

浙公网安备 33010602011771号