mypy这款Python静态检查插件,如何应用于第三方库开发?
- 内容介绍
- 文章标签
- 相关推荐
本文共计511个文字,预计阅读时间需要3分钟。
前言+mypy工具是Python中的静态类型检查器。+使用mypy工具完成带有类型提示的代码之后,先别运行,用+mypy命令来检查你的代码,如果有错误,会提示你,这能让Python的类型提示更加真实。
前言
①mypy工具 是 Python 中的静态类型检查器。
②写完带有类型提示的代码之后,先别运行行,用 mypy命令来检查下你的代码,如果有错误,会提示你,这让 Python 的类型提示有了真正的作用。
③后续开发的过程中可以强制 mypy 工具检查无误后才能上线,借此提高代码的可读性和可维护性。
④mypy官方文档:mypy.readthedocs.io/en/stable/
安装
pip install mypy安装完成之后,在cmd中校验是否安装成功:
示例
①新建一个demo.py文件,内容如下:
使用mypy工具对代码进行静态类型检查:
果然,mypy工具发现了三处错误,并一一提示。
②如果不希望检查某一行,可以在代码注释中加上# type: ignore
python常用的内置类型
配置文件
①mypy工具将依次查找当前目录下的配置文件:mypy.ini,.mypy.ini,pyproject.toml,setup.cfg
②如果在上述配置文件中找不到,则依次寻找下面的配置文件:$XDG_CONFIG_HOME/mypy/config,~/.config/mypy/config,~/.mypy.ini
③另外,还可以使用--config-file指定配置文件。
④典型的mypy.ini配置文件如下:
# Global options:[mypy]
python_version = 3.7
warn_return_any = True
warn_unused_configs = True
# Per-module options:
[mypy-mycode.foo.*]
disallow_untyped_defs = True
[mypy-mycode.bar]
warn_return_any = False
[mypy-somelibrary]
ignore_missing_imports = True
⑤常见配置项
files 逗号分隔的路径列表,如果命令行上没有给出,则应由 mypy 检查,支持递归。
exclude 应忽略检查的文件名、目录名和路径
ignore_missing_imports 禁止有关无法解析的导入的错误消息。
disallow_untyped_defs 不允许定义没有类型注释或类型注释不完整的函数。
plugins 逗号分隔的 mypy 插件列表
去期待陌生,去拥抱惊喜。
本文共计511个文字,预计阅读时间需要3分钟。
前言+mypy工具是Python中的静态类型检查器。+使用mypy工具完成带有类型提示的代码之后,先别运行,用+mypy命令来检查你的代码,如果有错误,会提示你,这能让Python的类型提示更加真实。
前言
①mypy工具 是 Python 中的静态类型检查器。
②写完带有类型提示的代码之后,先别运行行,用 mypy命令来检查下你的代码,如果有错误,会提示你,这让 Python 的类型提示有了真正的作用。
③后续开发的过程中可以强制 mypy 工具检查无误后才能上线,借此提高代码的可读性和可维护性。
④mypy官方文档:mypy.readthedocs.io/en/stable/
安装
pip install mypy安装完成之后,在cmd中校验是否安装成功:
示例
①新建一个demo.py文件,内容如下:
使用mypy工具对代码进行静态类型检查:
果然,mypy工具发现了三处错误,并一一提示。
②如果不希望检查某一行,可以在代码注释中加上# type: ignore
python常用的内置类型
配置文件
①mypy工具将依次查找当前目录下的配置文件:mypy.ini,.mypy.ini,pyproject.toml,setup.cfg
②如果在上述配置文件中找不到,则依次寻找下面的配置文件:$XDG_CONFIG_HOME/mypy/config,~/.config/mypy/config,~/.mypy.ini
③另外,还可以使用--config-file指定配置文件。
④典型的mypy.ini配置文件如下:
# Global options:[mypy]
python_version = 3.7
warn_return_any = True
warn_unused_configs = True
# Per-module options:
[mypy-mycode.foo.*]
disallow_untyped_defs = True
[mypy-mycode.bar]
warn_return_any = False
[mypy-somelibrary]
ignore_missing_imports = True
⑤常见配置项
files 逗号分隔的路径列表,如果命令行上没有给出,则应由 mypy 检查,支持递归。
exclude 应忽略检查的文件名、目录名和路径
ignore_missing_imports 禁止有关无法解析的导入的错误消息。
disallow_untyped_defs 不允许定义没有类型注释或类型注释不完整的函数。
plugins 逗号分隔的 mypy 插件列表
去期待陌生,去拥抱惊喜。

