推薦乙個小而美的 Python 格式化工具

2021-09-01 13:30:11 字數 1806 閱讀 6197

**可讀性是評判**質量的標準之一,有乙個衡量**質量的標準是 martin 提出的 「wft」 定律,即每分鐘爆出 「wtf」 的次數。你在讀別人**或者做 code review 的時候有沒有 「wtf」 衝動呢?

為了幫助開發者統一**風格,python 社群提出了 pep8 **編碼風格,它並沒有強制要求大家必須遵循,python 官方同時推出了乙個檢查**風格是否符合 pep8 的工具,名字也叫 pep8,後來被重新命名為了 pycodestyle。

看如下**:

這是乙個不符合 pep8 的**段,用 pycodestyle 可檢測有哪些地方不符合 pep8 風格。

pycodestyle 提示我們有兩處地方不符合規範,第乙個是單行有多個 import,第二個是類與模組之間需要空兩行,這只是乙個簡單**示例,真正的業務**可能有上百行甚至幾百行,如果我們要根據 pep8 規範逐個進行修改建議會非常耗時,而我們的開發過程中,如果時刻關注每一行**是否完全遵循 pep8,將影響開發效率。

而有這麼一款工具 black,號稱不妥協的**格式化工具,為什麼叫不妥協呢?因為它檢測到不符合規範的**風格直接就幫你全部格式化好,根本不需要你確定,直接替你做好決定。它也是 requests 作者最喜歡的工具之一

使用非常簡單,安裝成功後,和其他系統命令一樣使用,只需在 black 命令後面指定需要格式化的檔案或者目錄就ok。

這是一款小而美的工具,它並不是完全按照 pep8 規範來格式化,比如預設每行**的字元數是88個,當然你可以通過引數 -l 自定義長度,能一行顯示完成的**會放在一行,比如有多個元素的列表

後者把多個元素放在一行,顯然更易讀,而且**更緊湊(如果你的工資是按照**行數來算的話,不建議這麼做),black 是 pep8 的嚴格子集。我的最佳實踐方式就是使用 pycharm 自帶的格式化工具配合 black 使用。因為 black 也支援整合到 pycharm 中。

如何整合 pycharm?

1、 安裝black:

pip install black
2、 找到 black 的安裝路徑

$ which black # linux/mac

$ where black # windows

3、 新增擴充套件工具,開啟 preferences->tools->external tools ,新增乙個新的擴充套件工具,program 填 black 的安裝路徑,arguments 填 $filepath$

4、選擇 tools-> external tools-> black 即可對當前開啟的檔案斤西瓜**格式化,當然,你還可以為其指定乙個快捷鍵,使操作起來更方便。

值得注意的是,該工具只支援 python3.6 環境

Python教程 乙個小栗子和乙個小練習

python教程正在更新中 檢視python教程目錄 學了這麼多,我們來做幾個小練習。1.從命令列讀入出生年份是2001年,並且計算年齡例如那麼今年的年齡就是19歲 birth year input birth year age 2020 birth year print age 這是我們最樸素的思...

推薦乙個曲子

馬克西姆 出埃及記 這個曲子聽起來很帶勁,絲毫不差於 彌撒 當你工作的時候,當你絞盡腦汁搞不定的時候,聽聽它 當初聽 彌撒 時,切身感受,刺激你的神經 我想,聖經 題材可能本來就是一種神預吧,也許是一種與生俱來的本能反射,帶我們回到那個純粹的時代 當你的慾望被滿足時,你會憎恨這慾望,這是真理 當你慾...

乙個完美的導航樹

http bbs.xoyo.com forumdisplay.php?fid 4339 target main title 新手入門 高手高階,玩家遊戲經驗的交流區 http bbs.xoyo.com forumdisplay.php?fid 4700 target main title 精彩封神,...