📝

pythonのimportの順番

2024/05/23に公開

Pythonにおけるインポートの順番には、いくつかの推奨される基準や慣習があります。これらの基準に従うことで、コードがより読みやすく、管理しやすくなります。以下に、Pythonコミュニティで広く受け入れられているインポート順のガイドラインを示します。

PEP 8のガイドライン

PEP 8(Python Enhancement Proposal 8)は、Pythonのコードスタイルガイドであり、インポートの順番に関しても具体的な推奨をしています。基本的な順序は次の通りです:

  1. 標準ライブラリのインポート:
    標準ライブラリのモジュールを最初にインポートします。

    import os
    import sys
    
  2. サードパーティライブラリのインポート:
    次に、インストールした外部ライブラリをインポートします。

    import numpy as np
    import requests
    
  3. 自作モジュールやローカルモジュールのインポート:
    最後に、自分が作成したモジュールやプロジェクト内のローカルモジュールをインポートします。

    import mymodule
    from . import utils
    

インポートの順番の例

これらのルールを踏まえたインポートの順序の例を以下に示します:

# 標準ライブラリのインポート
import os
import sys

# サードパーティライブラリのインポート
import numpy as np
import requests

# ローカルモジュールのインポート
import mymodule
from . import utils

インポートのグルーピングと空行

各グループ間には空行を挿入して、視覚的に区別しやすくするのが一般的です。

アルファベット順

各グループ内では、インポートをアルファベット順に並べることがよく推奨されます。これにより、特に大規模なプロジェクトではインポートの管理がしやすくなります。

# 標準ライブラリ
import os
import sys

# サードパーティ
import numpy as np
import requests

# ローカル
import mymodule
from . import utils

その他のベストプラクティス

  • 不要なインポートを避ける: 使用していないモジュールはインポートしないようにします。これにより、コードがクリーンで効率的になります。
  • ワイルドカードインポートの回避: from module import * のようなワイルドカードインポートは避けるべきです。名前空間が汚染され、バグを引き起こしやすくなります。
  • 相対インポートの慎重な使用: 相対インポートは、特に大規模なプロジェクトでは慎重に使用する必要があります。コードの可読性と保守性に影響を与える可能性があるためです。

これらのガイドラインに従うことで、Pythonのインポートがより整理され、他の開発者にも理解しやすくなります。

Discussion