日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網(wǎng)為廣大站長(zhǎng)提供免費(fèi)收錄網(wǎng)站服務(wù),提交前請(qǐng)做好本站友鏈:【 網(wǎng)站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(wù)(50元/站),

點(diǎn)擊這里在線咨詢客服
新站提交
  • 網(wǎng)站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會(huì)員:747

在 Python/ target=_blank class=infotextkey>Python 項(xiàng)目開發(fā)過(guò)程中,我們經(jīng)常需要一些工具來(lái)幫助我們保持代碼質(zhì)量,提高開發(fā)效率。今天,我們要介紹四個(gè) Python 工程的最佳伴侶:isort、flake8、black 和 mypy。

 

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

01 isort:讓導(dǎo)入看起來(lái)整齊

isort 是一個(gè) Python 工具,可以自動(dòng)在 Python 文件中排序和格式化 import 語(yǔ)句。它可以幫助我們確保所有的 import 語(yǔ)句都遵循相同的標(biāo)準(zhǔn),使得代碼看起來(lái)更清晰,更易于閱讀。

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

02 flake8:代碼風(fēng)格一致性

flake8 是一個(gè) Python 代碼風(fēng)格檢查工具。它可以幫助我們發(fā)現(xiàn)代碼中的風(fēng)格問題,例如行長(zhǎng)度過(guò)長(zhǎng)、不符合 PEP8 標(biāo)準(zhǔn)的命名、未使用的變量等問題。通過(guò)使用 flake8,我們可以確保代碼風(fēng)格的一致性,提高代碼的可讀性。下面讓我們通過(guò)一個(gè)示例來(lái)看一下 Flake8 是如何工作的。

首先,我們需要一個(gè)有一些風(fēng)格問題的 Python 代碼。假設(shè)我們有以下的代碼:

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

這段代碼雖然可以正確運(yùn)行,但是它不符合 PEP 8 的代碼風(fēng)格規(guī)定。比如,函數(shù)參數(shù)列表中的逗號(hào)后應(yīng)該有一個(gè)空格,而不是前面;return 語(yǔ)句后的運(yùn)算符兩側(cè)應(yīng)該都有空格。

接下來(lái),我們可以使用 Flake8 來(lái)檢查這段代碼。運(yùn)行以下命令:

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

flake8 example.pyFlake8 會(huì)輸出以下信息:

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

這里,E201、E202 和 E225 是 Flake8 針對(duì)不同類型問題的錯(cuò)誤代碼。你可以在 Flake8 的規(guī)則列表 中找到這些錯(cuò)誤代碼的詳細(xì)解釋。

有了這些錯(cuò)誤信息,我們就可以逐一修正代碼中的問題,使之符合 PEP 8 的規(guī)定:

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

只能告訴你,哪里的代碼風(fēng)格不符合規(guī)范,我們要手動(dòng)改,非常難受, 下面這個(gè)工具black就可以自動(dòng)幫我們格式化代碼符合python規(guī)范。

03 black:自動(dòng)化代碼格式化

black 是一個(gè) Python 代碼自動(dòng)格式化工具。你可以把它看作是一個(gè)“無(wú)需配置”的 flake8,它會(huì)自動(dòng)把你的代碼格式化到 PEP 8 標(biāo)準(zhǔn)。這意味著我們可以花更少的時(shí)間在代碼格式化上,而將更多的精力放在解決實(shí)際的問題上。

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

需要注意的是, black 有一個(gè)默認(rèn)的行長(zhǎng)度限制(88個(gè)字符),這可能會(huì)和 fake8 的默認(rèn)行長(zhǎng)度限制(79個(gè)字符)沖突。如果你想一起使用這兩個(gè)工具,你可能需要在 flake8 的配置文件中設(shè)置 max-line-length = 88 ,以避免不必要的沖突。或者把 black 改成79個(gè)字符。如在python項(xiàng)目中的 pyproject.tom1 中進(jìn)行統(tǒng)一配置:

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

04 mypy:靜態(tài)類型檢查

mypy 是一個(gè) Python 靜態(tài)類型檢查工具。雖然 Python 是一門動(dòng)態(tài)類型的語(yǔ)言,但在某些情況下,使用靜態(tài)類型可以幫助我們發(fā)現(xiàn)潛在的問題。mypy 可以檢查我們的代碼,確保我們的類型注解是正確的。

Python 工程的最佳伴侶:isort、flake8、black 和 mypy

$ mypy my_script.pymy_script.py: note: In function "greeting":my_script.py:2: error: Argument 1 to "greeting" has incompatible type "int"; expected "str"在 Python 項(xiàng)目開發(fā)過(guò)程中,isort、flake8、black 和 mypy 是我們的最佳伴侶。它們可以幫助我們維護(hù)代碼質(zhì)量,提高開發(fā)效率。本文僅僅告訴你他們最基本的使用, 在生產(chǎn)的時(shí)候,我們可以把他們安裝到我們的IDE,如pycharm,vscode。也可以結(jié)合到CICD的流程,讓大家的代碼風(fēng)格規(guī)范都統(tǒng)一起來(lái)。

分享到:
標(biāo)簽:Python
用戶無(wú)頭像

網(wǎng)友整理

注冊(cè)時(shí)間:

網(wǎng)站:5 個(gè)   小程序:0 個(gè)  文章:12 篇

  • 51998

    網(wǎng)站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會(huì)員

趕快注冊(cè)賬號(hào),推廣您的網(wǎng)站吧!
最新入駐小程序

數(shù)獨(dú)大挑戰(zhàn)2018-06-03

數(shù)獨(dú)一種數(shù)學(xué)游戲,玩家需要根據(jù)9

答題星2018-06-03

您可以通過(guò)答題星輕松地創(chuàng)建試卷

全階人生考試2018-06-03

各種考試題,題庫(kù),初中,高中,大學(xué)四六

運(yùn)動(dòng)步數(shù)有氧達(dá)人2018-06-03

記錄運(yùn)動(dòng)步數(shù),積累氧氣值。還可偷

每日養(yǎng)生app2018-06-03

每日養(yǎng)生,天天健康

體育訓(xùn)練成績(jī)?cè)u(píng)定2018-06-03

通用課目體育訓(xùn)練成績(jī)?cè)u(píng)定