コンテンツにスキップ

Python/isort

出典: フリー教科書『ウィキブックス(Wikibooks)』

isortは、Pythonコード内のインポート文を自動的に整理するためのツールです。インポート文が一貫したスタイルで並べ替えられ、読みやすく保守しやすいコードになります。特に、大規模なプロジェクトやチーム開発において、インポートの順序や形式を統一することで、コードの可読性を向上させることができます。

isortの特徴

[編集]
  1. インポートの自動並べ替え: isortは、インポート文をアルファベット順に並べ替えます。また、標準ライブラリ、サードパーティライブラリ、プロジェクト内のモジュールをグループごとに分けて整理できます。
  2. PEP 8準拠: isortは、PythonのPEP 8スタイルガイドに従ってインポートを整理します。PEP 8では、インポート文を3つのグループに分けることを推奨しています:
    • 標準ライブラリ
    • サードパーティライブラリ
    • プロジェクト内のモジュール
  3. カスタマイズ可能: isortにはさまざまな設定オプションがあり、インポートの並べ替え順序やグループの区切り方、インポートの形式(インラインインポート、別々の行など)をカスタマイズできます。これにより、プロジェクトのスタイルに合わせて設定を調整できます。
  4. コマンドラインツールとエディタ統合: isortはコマンドラインから簡単に実行でき、IDEやエディタ(例えば、VSCodeやPyCharm)と統合することもできます。これにより、コードを保存するたびにインポートが自動で整理されるようにすることも可能です。
  5. 他のツールとの統合: isortblackflake8といった他のコード整形ツールと組み合わせて使うことができます。例えば、blackでコード全体を整形し、isortでインポート文を整理するという使い方が一般的です。

isortの使用方法

[編集]

インストール:

[編集]
pip install isort

コード整理:

[編集]
isort <ファイル名またはディレクトリ>

例えば、プロジェクト内のすべてのPythonファイルのインポートを整理する場合:

isort .

例: isort適用前と適用後

[編集]

変更前(整理されていないインポート文)

[編集]
import os
import requests
import sys
from mymodule import myfunction
import math

変更後(isortで整理されたインポート文)

[編集]
import os
import sys
import math

import requests

from mymodule import myfunction

まとめ

[編集]

isortは、Pythonのインポート文を自動的に整理し、コードの一貫性と可読性を向上させるためのツールです。特に、プロジェクトが大きくなるにつれて、インポート文が複雑になりがちですが、isortを使うことで、その整理が簡単になります。また、blackflake8と連携させることで、コード全体の品質を保ちながら、インポートの整理も自動化できます。