Typing

Q: 为什么从 Python3.5 开始,PEP484 引入类型注解( type hints ) ?
A: Typing 主要作用是方便开发,供 IDE 和其他开发工具使用,对代码运行不产生影响,运行时会过滤类型信息。

  • 优势

    • 类型检查:防止运行时出现参数和返回值类型、变量类型不符合
    • 附加说明:方便使用者调用时传入和返回参数类型
    • 提醒检查:该模块加入后并不会影响程序的运行,不会报正式的错误,只会提醒 Pycharm 目前支持 typing 检查,参数类型错误会黄色提示
  • 劣势

    • 兼容性差:至少需要 Python3.6 才能使用
    • 强制使用:强制导入所有类型依赖项,即使根本不在运行时使用

Pydantic

  1. Pydantic 是一个基于 Python 类型提示来定义数据验证、序列化和文档(使用 JSON 模式)库。常用于数据接口 schema 定义与检查的库,通过 pydantic 可以规范的定义和使用数据接口。Pydantic 在运行时强制执行类型提示,并在数据无效时提供用户友好的错误信息。

Starletter

Starletter 是一种轻量级的 ASGI 框架/工具包,常用于构建高性能 Asyncio 服务。