前言
① mypy 工具 是 Python 中的靜態類型檢查器。
②寫完帶有類型提示的代碼之后,先別運行行,用 mypy 命令來檢查下你的代碼,如果有錯誤,會提示你,這讓 Python 的類型提示有了真正的作用。
③后續開發的過程中可以強制 mypy 工具檢查無誤后才能上線,借此提高代碼的可讀性和可維護性。
④mypy官方文檔:https://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 插件列表