03. JSON Schema
生成 JSON Schema
生成 JSON Schema
Pydantic 提供了内置的 JSON 解析支持
Unions 的验证方式与其他类型不同,它只需要其中一种类型验证通过即为合法
别名是字段的另一个名称,用于序列化和反序列化数据。
BaseModel.modelconfig 用于配置 BaseModel 的行为
Beyond accessing model attributes directly via their field names (e.g. model.foobar), models can be converted, dumped, serialized, and exported in a number of ways.
默认情况下,Pydantic 会强制将值转化成期望的数据类型(For example, you can pass the string "123" as the input to an int field, and it will be converted to 123),这种强制性的行为在很多场景下都是很有用的 — think: UUIDs, URL parameters, HTTP headers, environment variables, user input, etc.
https://www.cnblogs.com/gdjlc/p/11432526.html
基本操作
认识
认识
Doctest 的测试原理是把我们在 Python 控制台的输入输出记录保存到函数的 docstring 里,然后一一把这些输入到解析器然后对比输出是否一致用来确定测试结果是否通过。
认识
例子
文 件结构
认识
比 logging 更加轻便简单的日志记录器
摘自 https://www.cnblogs.com/ChangAn223/p/11305376.html
在这里插入图片描述
数组基础
分类与创建
pydantic 尽可能的使用标准库类型(standard library types)来标注字段来提供一个平滑的学习曲线;不过它也实现了许多常用的类型(commonly used types)
Field 函数用于自定义字段,为其添加元数据
通过创建一个继承 BaseModel 的子类(model)来定义一类对象(defining objects)
Annotated Validators
步骤
Profile a Python script
初始化
抽象基类 Abstract Base Class
认识
1. 协程是在单线程里实现任务的切换的
快速使用
认识
上下文,简而言之,就是程式所执行的环境状态,或者说程式运行的情景。
这个模块提供了一组接口,可用于管理、储存、访问局部上下文的状态。
简介
认识
认识
官方文档:https://dramatiq.io/
官方文档:https://docs.python.org/zh-cn/3/library/enum.html
认识
未摘录完,详见 https://zhuanlan.zhihu.com/p/290018252
官方文档:https://docs.python.org/3/library/io.html
介绍
执行文件
motor 用来异步地操作 MongoDB
简介
pickle 能够实现任意对象与文本之间的相互转化,也可以实现任意对象与二进制之间的相互转化。也就是说,pickle 可以实现 Python 对象的存储及恢复。
简介
认识
lock
Rich 可以通过 Columns 类在整齐的列中渲染文本或其他 Rich 渲染物。
console 通常作为单例模式存在,所以你可以为 console 的配置专门创建一个文件 console.py:
Rich 提供了一个 Layout 类,可用于将屏幕区域划分为若干部分,其中每个部分可包含独立的内容。它可以与 Live Display 一起使用,以创建全屏 "应用程序",但也可以单独使用。
Rich 支持简单的 markup(标记语言),可以将 color 和 style 随意地插入文本
Rich 可以将 style 应用于你 print() 或 log() 的文本中。在默认设置下,Rich 会突出显示数字、字符串、集合 (collection)、bool、None,以及一些比较特殊的模式,如文件路径、URL 和 UUID。另外还有一些非默认的高亮显示,如 ISO8601 高亮显示日期和时间。
除了语法高亮,Rich 还会为容器类型(list, dict, set)进行格式化
Rich 有许多 Prompt 类,它们用于要求用户输入信息并循环,直到收到有效的响应 (它们都在内部使用 Console API)
Rich 可以将持续更新信息的进度可视化。
Table 类提供了多种向终端呈现表格数据的方法。
Text 类允许你用 color 和 style 来标注字符串
In various places in the Rich API you can set a “style” which defines the color of the text and various attributes such as bold, italic etc.
Rich 是一个 Python 库,可以为你在终端中提供富文本和漂亮、精美的格式。
简介
tempfile 模块专门用于创建临时文件和临时目录,它既可以在 UNIX 平台上运行良好,也可以在 Windows 平台上运行良好
概念
窗口
https://typer.tiangolo.com/
We said before that by default:
typer.Option() works very similarly to typer.Argument(), but has some extra features that we'll see next.
数据类型校验与转换
Typer 支持在单文件中定义多个子命令(Subcommand)
You read before how to create a program with Commands.
交互式 prompt
Multiple CLI Options
https://typer.tiangolo.com/tutorial/options-autocompletion/
摘自:https://zhuanlan.zhihu.com/p/464979921
Mock
Python 通过调用 warnings 模块中定义的 warn() 函数来发出警告。警告消息通常用于提示用户一些错误或者过时的用法,当这些情况发生时我们不希望抛出异常或者直接退出程序。
概述
zipfile 是 python 里用来做 zip 格式编码的压缩和解压缩的标准库
字符串
认识
特殊方法
杂知识点
模块
Tutorial - Ruff
基本知识
基本操作
官方文档:https://docs.sentry.io/platforms/python/?original_referrer=https%3A%2F%2Fsentry.io%2F
特征工程
认识
概念
Tqdm 是一个快速,可扩展的 Python 进度条,可以在 Python 长循环中添加一个进度提示信息,用户只需要封装任意的迭代器tqdm(iterator)。
基本操作
不管别人怎么说或怎么想,我从未觉得 Python 受到来自函数式语言的太多影响。我非常熟悉命令式语言,如 C 和 Algol 68,虽然我把函数定为一等对象,但是我并不把 Python 当作函数式编程语言。
序列的分类
符合模式并不表示做得对。
函数装饰器用于在源码中“标记”函数,以某种方式增强函数的行为。这是一项强大的功能,但是若想掌握,必须理解闭包
说起来,Python 就是包裹在一堆语法糖中的字典。
摘自 https://lulaoshi.info/python/asyncio/basics.html
变量不是盒子
本章将以第 9 章定义的二维向量 Vector2d 类为基础,向前迈出一大步,定义表示多维向量的 Vector 类。这个类的行为与 Python 中标准的不可变扁平序列一样。Vector 实例中的元素是浮点数,本章结束后 Vector 类将支持下述功能:
序列的协议
数字图像基础
Data Model
本章将要讨论 Unicode 字符串、二进制序列,以及在二者之间转换时使用的编码
⭐清晰易懂版
在本章中,我们将开发一个简单的二维欧几里得向量类型
安装