最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

使用mypy對python程序進行靜態(tài)檢查

 更新時間:2021年11月29日 14:21:22   作者:wx60cb0021898b2  
大家好,本篇文章主要講的是使用mypy對python程序進行靜態(tài)檢查,感興趣的同學快來看一看吧,對你有幫助的話記得收藏一下哦

前言

在此之前,我認為 Python 的類型提示就是一個花瓶,看起來好看,但并沒有實質(zhì)的作用,因為即使類型寫錯了,或者傳錯了,程序仍然可以運行,直到我發(fā)現(xiàn)了 mypy 這個工具。今天就來聊一聊 mypy。

mypy 是 Python 中的靜態(tài)類型檢查器。寫完帶有類型提示的代碼之后,先別運行行,用 mypy 命令來檢查下你的代碼,如果有錯誤,會提示你,這讓 Python 的類型提示有了真正的作用。后續(xù)開發(fā)的過程中可以強制 mypy 檢查無誤后才能上線,借此提高代碼的可讀性和可維護性。

嗯,很實用,不是嗎?下面分享一下如何使用 mypy。

1、安裝

這個很簡單了,pip install mypy 就搞定了。

2、執(zhí)行

假如有這樣一個 Python 程序,名稱叫 demo1.py,內(nèi)容如下:

def greeting(name: str) -> str: #這里提示有問題
print (f'Hello { name }')

x: str = 'xxx'
y: int = "yyy" #這里應該提示有問題
greeting(x)
greeting(y) #這里應該提示有問題

代碼我已經(jīng)指出了兩處錯誤,現(xiàn)在讓 mypy 檢查一下:

mypy 這個工具,讓Python的類型提示變得非常實用_mysql

果然,mypy 發(fā)現(xiàn)了三處錯誤,并一一提示,非常好用啊。

如果不希望檢查某一行,可以在注釋上加上"# type: ignore":

y: int = "yyy" # type: ignore

mypy 具有強大且易于使用的類型系統(tǒng),具有很多優(yōu)秀的特性,例如類型推斷、泛型、可調(diào)用類型、元組類型、聯(lián)合類型和結(jié)構(gòu)子類型。

3、常用的內(nèi)置類型

mypy 這個工具,讓Python的類型提示變得非常實用_linux_02

4、配置文件

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

配置文件的詳細說明,見官方文檔:https://mypy.readthedocs.io/en/stable/

常見配置項:

files 逗號分隔的路徑列表,如果命令行上沒有給出,則應由 mypy 檢查,支持遞歸。

exclude 應忽略檢查的文件名、目錄名和路徑

ignore_missing_imports 禁止有關無法解析的導入的錯誤消息。

disallow_untyped_defs 不允許定義沒有類型注釋或類型注釋不完整的函數(shù)。

plugins 逗號分隔的 mypy 插件列表

最后的話

mypy 是自動化測試中很重要的一部分,可以幫助我們檢查 Python 語言的類型提示是否正確,減少代碼的 bug,Python 開發(fā)的朋友們一定要用一用。

到此這篇關于使用mypy對python程序進行靜態(tài)檢查的文章就介紹到這了,更多相關mypy靜態(tài)檢查內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

最新評論

濮阳县| 康保县| 施秉县| 修文县| 平安县| 长宁区| 兴业县| 楚雄市| 微博| 遂宁市| 乐业县| 莱州市| 偃师市| 高碑店市| 鄂伦春自治旗| 怀集县| 星子县| 自贡市| 鹿邑县| 河北区| 威海市| 浮山县| 泸州市| 霍山县| 尚义县| 石门县| 健康| 牙克石市| 迁安市| 白朗县| 鹤壁市| 富顺县| 姜堰市| 施甸县| 中方县| 方山县| 桐柏县| 阜康市| 二连浩特市| 绵竹市| 文山县|