目次
I.はじめに
Python では、モジュールは Python コードを含むファイルです。一方、パッケージは複数のモジュールを含むディレクトリです。モジュールとパッケージは、Python コードを再利用するための基本的な構成です。この記事では、Python のモジュールとパッケージの基本と使用法について説明します。
モノのインターネットのホスト コンピューター プログラムの開発では、煩雑な作業を軽減し、より迅速に機能を実現するために、開発者が提供するサードパーティ モジュールや開発キットを必然的に使用します。
次に、モジュールのインポート
Python では、「import」ステートメントを通じてモジュールをインポートできます。モジュールをインポートする一般的な方法は次のとおりです。
import math
import random as rand
from datetime import datetime
上記のコードでは、最初のステートメントは Python の標準モジュール 'math' をインポートします; 2 番目のステートメントは 'random' モジュールをインポートし、エイリアス 'rand' を与えます; 3 番目のステートメントは ' datetime ' モジュールをインポートします 'datetime' クラスがインポートされます。
3. モジュールの定義
自分でモジュールを書くこともできます。単純な Python モジュールは、「.py」拡張子を持つ Python コードを含むファイルで構成されます。サンプルモジュール「mymodule.py」のコードは次のとおりです。
# mymodule.py
def greeting(name):
print(f"Hello, {name}!")
def add(x, y):
return x + y
「import」ステートメントを使用してこのモジュールをインポートし、その中の関数を呼び出すことができます。
import mymodule
mymodule.greeting("Alice") # 输出:Hello, Alice!
print(mymodule.add(1, 2)) # 输出:3
4 番目に、パッケージの定義
パッケージは、複数のモジュールを含むディレクトリです。単純な Python パッケージは、「__init__.py」ファイルといくつかの「.py」モジュール ファイルを含むディレクトリで構成されます。このうち、「__init__.py」ファイルは空のファイルにすることも、パッケージを初期化するコードを含むこともできます。以下は、サンプルパッケージ「mypackage」のディレクトリ構造です。
mypackage/
├── __init__.py
├── module1.py
└── module2.py
このうち、「module1.py」と「module2.py」はそれぞれ 2 つのモジュールです。「import」ステートメントを使用してパッケージとモジュールをインポートできます。
import mypackage
from mypackage import module1, module2
module1.foo()
module2.bar()
パッケージをインポートするとき、 Python インタープリターはまずパッケージ内で '__init__.py' ファイルを探し、そのファイル内のコードを実行してから、必要なモジュールをインポートすることに注意して ください。
5. パッケージの相対インポート
パッケージ内では、相対インポートを使用して同じパッケージ内のモジュールをインポートできます。たとえば、「mypackage」パッケージ内の「module1.py」では、次のステートメントを使用して「module2.py」をインポートできます。
from . import module2
上記のステートメントでは、「.」は現在のパッケージを示します。二重ドット「..」を使用して、上位レベルのパッケージを示すこともできます。たとえば、「mypackage」パッケージの「module1.py」では、次のステートメントを使用して「mypackage」パッケージの「module2.py」をインポートできます。
from .. import module2
上記のステートメントでは、二重ドットは上位レベルのパッケージを示します。相対インポートはパッケージ内でのみ使用できることに注意してください。
6. コード例
以下は、Python モジュールとパッケージの作成方法に関する完全なサンプル コードです。
# mymodule.py
def greeting(name):
print(f"Hello, {name}!")
def add(x, y):
return x + y
# mypackage/__init__.py
print("Initializing mypackage...")
from . import module1
from . import module2
# mypackage/module1.py
def foo():
print("This is module1.")
# mypackage/module2.py
def bar():
print("This is module2.")
# main.py
import mymodule
import mypackage
from mypackage import module1, module2
mymodule.greeting("Alice") # 输出:Hello, Alice!
print(mymodule.add(1, 2)) # 输出:3
module1.foo() # 输出:This is module1.
module2.bar() # 输出:This is module2.
「main.py」を実行すると、出力は次のようになります。
Initializing mypackage...
Hello, Alice!
3
This is module1.
This is module2.
7. まとめ
Python モジュールとパッケージは、 Python コードを再利用するための基本的な構成です。モジュールとパッケージをインポートすると、コードを再利用でき、コードの保守性と再利用性が向上します。同時に、独自のモジュールやパッケージを作成して、プロジェクト内のコードを再利用することもできます。Python モジュールとパッケージを作成するときは、相対インポートの使用と '__init__.py' ファイルの役割に注意する必要があります。