python第三方插件之mypy(對python程序進行靜態檢查)


前言

① 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 插件列表


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM