私は、python)で大規模なプロジェクトに取り組んでいます。
from ... import
ステートメントが必要)。最後に、一部には正規エイリアスがあります(import numpy as np
)。これらすべてを踏まえると、私が思いつくことができる最も読みやすいインポートスキーマは次のとおりです。
import aaa_sys
import bbb_sys
import aaa_third
from bbb_third import bb
import ccc_third as cc
import ddd_third
import .aaa_local
import .bbb_local
import ..aaa_remote.aaa_remote_module
import ..bbb_remote.bbb_remote_module
つまり、インポートのタイプ(絶対またはエイリアスまたは選択インポート)に関係なく、最初にシステムをアルファベット順にインポートし、次にサードパーティをインポートし、最後にライブラリをパッケージ化します。
これに対する業界で受け入れられているアプローチはありますか? Google C++ヘッダーのインポート順序に似たもの。
pep8よりも詳細な標準を探している場合は、 を参照してくださいhttps://github.com/PyCQA/flake8-import-order
rEADMEから
次のスタイルが直接サポートされています。
cryptography
- の例を参照してくださいgoogle
- Googleスタイルガイドライン で説明されているスタイル、 例を参照smarkets
-from X import ...
ステートメントの前にgoogle
ステートメントを使用した場合のみimport
としてスタイル、 の例 を参照appnexus
-サードパーティパッケージのgoogle
ステートメントの後に続く、会社または組織にローカルなパッケージのimport
ステートメントでのみimport
としてスタイルを設定します。 例 を参照してくださいedited
- の例を参照してくださいpycharm
-インポートされた名前の大文字と小文字を区別するソートでのみsmarkets
のスタイルpep8
-グループ内の順序を強制せずにグループのみを強制するスタイル独自のスタイルを追加することもできます