目錄
autopep8
yapf
black
總結
首頁 後端開發 Python教學 Python 語言的自動格式化工具

Python 語言的自動格式化工具

Apr 13, 2023 am 09:16 AM
python 格式化 工具

每種程式語言都有自己專屬的格式化工具,像是golang 語言的gofmt,JavaScript 語言的prettier,php 語言的php-cs-fixer,和這些程式語言類似,python 也有自己的自動化格式工具,不過不同的是,它有很多個格式化工具,接下來我們就來看看這些不同的格式化工具到底有什麼不同。

autopep8

這個是最早的 python 格式化程式碼工具,它採用 pycodestyle 來分析程式碼,然後對於不符合 pep 風格的程式碼進行修復。同時,它也會修復一些已經被棄用的程式碼,並且規範程式碼的結尾,對於一些方法和函數添加一些空白行分隔符號。

autopep8 是支援透過設定檔進行格式化聲明的,它支援。 cfg,.ini  .pep8 .flake8 等格式的設定檔。目前他在 github 上有 4200 多個讚。

yapf

這是一個Google推出的格式化工具,因為有大廠背書,所以它發展的很快,目前在 github 上有 13000 個讚。他不會檢查 pep 準則,它只會格式化程式碼。它採取的是類似於clang-format的思想,就是讀取整個檔案程式碼,然後格式化成最佳的格式。

它是一個可設定的程式碼格式方案,不同的設定會導致不同的格式化結果,目前主流的配置有 pep8,google,facebook,chromium 等。此外,它還支援自訂配置方案,透過--style即可指定格式樣式。

x = {'a':37,'b':42,

'c':927}

y = 'hello ''world'
z = 'hello '+'world'
a = 'hello {}'.format('world')
class foo( object):
def f(self ):
return 37*-+2
def g(self, x,y=42):
return y
def f( a )
return37+-+a[42-x :y**3]
登入後複製

上面雜亂無章的程式碼經過yapf格式化後,就會變得很規則,更加容易閱讀。

x = {'a': 37, 'b': 42, 'c': 927}

y = 'hello ' 'world'
z = 'hello ' + 'world'
a = 'hello {}'.format('world')

class foo(object):
def f(self):
return 37 * -+2

def g(self, x, y=42):
return y

def f(a):
return 37 + -+a[42 - x:y**3]
登入後複製

black

black 是近年來新推出的python 程式碼格式化工具,雖然是最新推出的,然而它卻是最受歡迎的,目前它在github 上的點讚是30000 多。

Python 語言的自動格式化工具

black 號稱毫不妥協的程式碼格式化工具。也就是說,它預設不准你也不需要你手動進行程式碼格式的細節調整。

Python 語言的自動格式化工具

它具有非常有效率的速度,並且被許多專案所採用。

Python 語言的自動格式化工具

Black 擁有全面的測試套件,具有高效的平行功能測試,

以下是使用black 的一些組織:Facebook,Dropbox,KeepTruckin,Mozilla ,Quora, Duolingo,QuantumBlack,Tesla,Archer Aviation。

你可以看到,非常多的著名公司使用它來格式化 python 程式碼,只因為它太好用了,太方便了。

總結

autopep8 幾乎已經被放棄了,這從github 上的讚數就可以看出來,yapf 具有更加靈活的,高度定制化的格式化方案,而black 則讓程式看起來更統一和優雅,並且可以避免複雜的配置。

Python 語言的自動格式化工具

如果你公司或你正在使用python 進行專案的開發,那麼選擇一個程式碼格式化工具是非常必要的,它可以讓你的開發團隊節省大量時間。而且無論是你的個人代碼還是其他人的代碼格式看起來都是一樣的,這樣每個人閱讀其他人的代碼都會是一件幸福的事情。

以上是Python 語言的自動格式化工具的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.最佳圖形設置
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O.如果您聽不到任何人,如何修復音頻
3 週前 By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25:如何解鎖Myrise中的所有內容
4 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

如何解讀Debian Sniffer的輸出結果 如何解讀Debian Sniffer的輸出結果 Apr 12, 2025 pm 11:00 PM

DebianSniffer是一個網絡嗅探工具,用於捕獲和分析網絡數據包時間戳(Timestamp):顯示數據包捕獲的時間,通常以秒為單位。源IP地址(SourceIP):發送數據包的設備的網絡地址。目標IP地址(DestinationIP):接收數據包的設備的網絡地址。源端口(SourcePort):發送數據包的設備使用的端口號。目標端口(Destinatio

如何檢查Debian OpenSSL配置 如何檢查Debian OpenSSL配置 Apr 12, 2025 pm 11:57 PM

本文介紹幾種檢查Debian系統OpenSSL配置的方法,助您快速掌握系統安全狀態。一、確認OpenSSL版本首先,驗證OpenSSL是否已安裝及版本信息。在終端輸入以下命令:opensslversion若未安裝,系統將提示錯誤。二、查看配置文件OpenSSL主配置文件通常位於/etc/ssl/openssl.cnf。您可以使用文本編輯器(例如nano)查看:sudonano/etc/ssl/openssl.cnf此文件包含密鑰、證書路徑及加密算法等重要配置信息。三、利用ope

Debian Tomcat日誌安全設置有哪些 Debian Tomcat日誌安全設置有哪些 Apr 12, 2025 pm 11:48 PM

提升DebianTomcat日誌安全性,需關注以下關鍵策略:一、權限控制與文件管理:日誌文件權限:默認日誌文件權限(640)限制了訪問,建議修改catalina.sh腳本中的UMASK值(例如,從0027改為0022),或在log4j2配置文件中直接設置filePermissions,以確保合適的讀寫權限。日誌文件位置:Tomcat日誌通常位於/opt/tomcat/logs(或類似路徑),需定期檢查該目錄的權限設置。二、日誌輪轉與格式:日誌輪轉:配置server.xml

如何利用Debian Apache日誌提升網站性能 如何利用Debian Apache日誌提升網站性能 Apr 12, 2025 pm 11:36 PM

本文將闡述如何通過分析Debian系統下的Apache日誌來提升網站性能。一、日誌分析基礎Apache日誌記錄了所有HTTP請求的詳細信息,包括IP地址、時間戳、請求URL、HTTP方法和響應代碼等。在Debian系統中,這些日誌通常位於/var/log/apache2/access.log和/var/log/apache2/error.log目錄下。理解日誌結構是有效分析的第一步。二、日誌分析工具您可以使用多種工具分析Apache日誌:命令行工具:grep、awk、sed等命令行工具可

Python:遊戲,Guis等 Python:遊戲,Guis等 Apr 13, 2025 am 12:14 AM

Python在遊戲和GUI開發中表現出色。 1)遊戲開發使用Pygame,提供繪圖、音頻等功能,適合創建2D遊戲。 2)GUI開發可選擇Tkinter或PyQt,Tkinter簡單易用,PyQt功能豐富,適合專業開發。

Debian Sniffer與Wireshark的比較 Debian Sniffer與Wireshark的比較 Apr 12, 2025 pm 10:48 PM

本文探討網絡分析工具Wireshark及其在Debian系統中的替代方案。需要明確的是,不存在名為“DebianSniffer”的標準網絡分析工具。 Wireshark是業界領先的網絡協議分析器,而Debian系統則提供其他功能類似的工具。功能特性對比Wireshark:這是一款功能強大的網絡協議分析器,支持實時網絡數據捕獲和深入的數據包內容查看,並提供豐富的協議支持、過濾和搜索功能,便於網絡問題的診斷。 Debian系統中的替代工具:Debian系統包含諸如tcpdump和tshark等網

如何配置Debian Apache日誌格式 如何配置Debian Apache日誌格式 Apr 12, 2025 pm 11:30 PM

本文介紹如何在Debian系統上自定義Apache的日誌格式。以下步驟將指導您完成配置過程:第一步:訪問Apache配置文件Debian系統的Apache主配置文件通常位於/etc/apache2/apache2.conf或/etc/apache2/httpd.conf。使用以下命令以root權限打開配置文件:sudonano/etc/apache2/apache2.conf或sudonano/etc/apache2/httpd.conf第二步:定義自定義日誌格式找到或

Tomcat日誌如何幫助排查內存洩漏 Tomcat日誌如何幫助排查內存洩漏 Apr 12, 2025 pm 11:42 PM

Tomcat日誌是診斷內存洩漏問題的關鍵。通過分析Tomcat日誌,您可以深入了解內存使用情況和垃圾回收(GC)行為,從而有效定位和解決內存洩漏。以下是如何利用Tomcat日誌排查內存洩漏:1.GC日誌分析首先,啟用詳細的GC日誌記錄。在Tomcat啟動參數中添加以下JVM選項:-XX: PrintGCDetails-XX: PrintGCDateStamps-Xloggc:gc.log這些參數會生成詳細的GC日誌(gc.log),包含GC類型、回收對像大小和時間等信息。分析gc.log

See all articles