Python パッケージ
Python パッケージ
この記事では、Python パッケージを使用してコード ベースをクリーンで効率的なモジュールに分割する方法を学習します。また、Python プログラムで独自またはサードパーティのパッケージをインポートして使用する方法も学びます。
ビデオ:Python パッケージ:コードを整理する
パッケージとは?
通常、すべてのファイルをコンピューターの同じ場所に保存することはありません。簡単にアクセスできるように、よく整理されたディレクトリ階層を使用しています。
同様のファイルが同じディレクトリに保存されます。たとえば、すべての曲を「music " ディレクトリ。これと同様に、Python にはディレクトリ用のパッケージとファイル用のモジュールがあります。
アプリケーション プログラムが多くのモジュールでサイズが大きくなるにつれて、同様のモジュールを 1 つのパッケージに配置し、別のモジュールを別のパッケージに配置します。これにより、プロジェクト (プログラム) の管理が容易になり、概念が明確になります。
同様に、ディレクトリにはサブディレクトリとファイルを含めることができるため、Python パッケージにはサブパッケージとモジュールを含めることができます。
ディレクトリには __init__.py
という名前のファイルが含まれている必要があります Python がパッケージと見なすためです。このファイルは空のままにすることができますが、通常、そのパッケージの初期化コードをこのファイルに配置します。
ここに例があります。ゲームを開発しているとします。パッケージとモジュールの 1 つの考えられる編成は、下の図に示すようになります。
<図>パッケージからのモジュールのインポート
ドット (.) 演算子を使用して、パッケージからモジュールをインポートできます。
たとえば、start
をインポートする場合 上記の例のモジュールでは、次のように実行できます:
import Game.Level.start
ここで、このモジュールに select_difficulty()
という名前の関数が含まれている場合 、完全な名前を使用して参照する必要があります。
Game.Level.start.select_difficulty(2)
この構成が長いと思われる場合は、次のようにパッケージ プレフィックスなしでモジュールをインポートできます。
from Game.Level import start
次のように簡単に関数を呼び出すことができます:
start.select_difficulty(2)
パッケージ内のモジュールから必要な関数 (またはクラスまたは変数) だけをインポートする別の方法は次のとおりです:
from Game.Level.start import select_difficulty
これで、この関数を直接呼び出すことができます。
select_difficulty(2)
この方法は簡単ですが、お勧めしません。完全な名前空間を使用すると、混乱が回避され、2 つの同じ識別子名が衝突するのを防ぐことができます。
パッケージのインポート中、Python は sys.path
で定義されたディレクトリのリストを調べます 、モジュール検索パスと同様。
Python