各プログラミング言語には、golang 言語の gofmt、JavaScript 言語の prettier、php 言語の php-cs-fixer など、独自の専用の書式設定ツールがあります。これらのプログラミング言語と同様に、Python にも独自の自動書式設定ツールがあります。ただし、違いは、多くの書式設定ツールがあることです。次に、これらのさまざまな書式設定ツールの違いを見てみましょう。
これは、最も初期の Python フォーマット コード ツールです。pycodestyle を使用してコードを分析し、pep スタイルに準拠していないコードを修復します。同時に、いくつかの非推奨のコードが修正され、コードの末尾が標準化され、一部のメソッドと関数に空白行区切り文字が追加されます。
autopep8 は設定ファイルによる書式設定宣言をサポートしており、それをサポートしています。 cfg、.ini .pep8 .flake8 およびその他の形式の構成ファイル。現在、彼は github で 4,200 件以上の「いいね!」を獲得しています。
Google が立ち上げた整形ツールで、大手メーカーが推奨しているため急速に発展しており、現在 github では 13,000 件の「いいね!」が付いています。ペップガイドラインはチェックせず、コードをフォーマットするだけです。これは、ファイル コード全体を読み取り、それを最適な形式にフォーマットするという、 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 は、近年リリースされた新しい Python コード整形ツールです。最新ではありますが、最も人気があり、現在 github で最も多くのポイントを獲得しています。 . いいね数は3万件を超えています。
#black は、妥協のないコード整形ツールとして知られています。つまり、デフォルトではコード形式の詳細を手動で調整することはできません。
非常に効率的な速度を備えており、多くのプロジェクトで使用されています。
Black には、効率的な並列機能テストを備えた包括的なテスト スイートがあります。
Black を使用している組織をいくつか紹介します: Facebook、Dropbox、KeepTruckin、Mozilla、Quora、 Duolingo、QuantumBlack、Tesla、Archer Aviation。
非常に使いやすく便利なため、多くの有名企業が Python コードのフォーマットにこれを使用していることがわかります。
autopep8 はほぼ廃止されました。これは、github の「いいね!」の数からわかります。yapf には、より柔軟で高度にカスタマイズされた書式設定ソリューションがあり、一方、黒はプログラムをより統一的に見せますエレガントであり、複雑な構成を避けます。
あなたの会社またはあなたがプロジェクト開発に Python を使用している場合、開発チームのコストを大幅に節約できるコード整形ツールを選択することが非常に重要です。時間。また、それが個人的なコードであっても、他の人のコード形式であっても同じように見えるため、誰もが他の人のコードを喜んで読むことができます。
以上がPython言語の自動整形ツールの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。