Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonモジュールとは?作成方法と使い方をわかりやすく解説

モジュールは、コードを複数のファイルに分割できるPythonの便利な機能です。Pythonモジュールとは、拡張子が「.py」で終わるファイルのことです。


このガイドでは、具体的な例を交えながら、Pythonモジュールの作成方法をわかりやすく解説します。


Pythonモジュールの基礎知識


モジュールとは、Pythonのプログラムファイルを指す言葉です。つまり、Pythonプロジェクト内にある拡張子.pyのファイルは、すべてモジュールとして扱うことができます。モジュールには関数、変数、クラスなどを含めることができ、モジュール自身が必要なライブラリをインポートすることも可能です。


モジュールの3つの種類


  • 組み込みモジュール:Python標準ライブラリの一部として提供されているモジュールです。Pythonのインストール時に同梱されています。代表例としてはloggingやtimeなどがあります。
  • 外部モジュール:pip(Pythonのパッケージ管理ツール)を使ってインストールしたモジュールです。
  • ユーザー定義モジュール:自分自身でPythonプログラム内に定義したモジュールです。

モジュールを活用すると、コードの可読性を維持しやすくなります。技術的には、プログラムのコードをすべて1つのファイルにまとめて書くことも可能ですが、それは得策ではありません。数千行にも及ぶコードの中から、どこをどのように修正すべきかを見つけ出すのは非常に困難だからです。


import文の仕組みにまだ慣れていない方は、あわせてPythonのimport文に関するチュートリアルを読むことをおすすめします。


Pythonモジュールの作成方法


ここでは、顧客の残高を管理する銀行向けのプログラムを例に、実際にモジュールを作成していきます。それでは始めましょう。


まず最初に、ユーザーを銀行の残高管理システムへ迎えるウェルカム関数を作成します。この関数は、銀行の残高管理システムのコードを格納するbank.pyというファイルに記述します。


def welcome_message():
	print("Welcome to Python Bank!")

このプログラムを実行しても、何も表示されません。関数を呼び出していないためです。作成したコードを使うために、今度はmain.pyという新しいファイルを作成し、そこにプログラムのメインコードを記述します。


import bank

bank.welcome_message()

このコードでは、bank.pyファイルからbankモジュールをインポートし、その中にあるwelcome_message()関数を呼び出しています。実行結果は以下のとおりです。


Welcome to Python Bank!


print()文はbank.pyファイル内に記述されていますが、importキーワードを使えば、メインプログラム側からそのコードを呼び出せます。これはPythonで別ファイルのコードを実行するごく基本的な例ですが、モジュールでできることはまだまだたくさんあります。


Pythonモジュールでクラスを使う


次に、銀行の顧客データを保持するクラスを作成してみましょう。このクラスはbank.pyファイル内に定義し、メインプログラムから切り離して管理します。


def welcome_message():
	print("Welcome to Python Bank!")

class Customer:
	def __init__(self, name, balance):
		self.name = name
		self.balance = balance

	def show_customer(self):
		print("Name: " + self.name)
		print("Balance: $" + int(self.balance))

続いてmain.pyファイルに戻り、このコードを利用してみましょう。Customerクラスのインスタンスを生成するための、以下のコードを追加します。このインスタンスには、銀行の新規顧客であるLucyさんの名前と残高が保存されます。


main.pyファイルは次のようになります。


import bank

bank.welcome_message()

lucy = bank.Customer("Lucy", 75)
lucy.show_customer()

実行結果:


Welcome to Python Bank!


Name: Lucy


Balance: $75


このコードでは、「lucy」という名前のCustomerクラスのインスタンスを宣言しています。Lucyさんのアカウントには「Lucy」という名前と75ドルの残高が設定されました。


ご覧のとおり、Customerクラスのコードはメインプログラム内にはありません。代わりにbank.pyファイルに格納されており、「import」文によってbank.pyファイル内のすべてのコードを取得し、自分のプログラムで利用できるようにしています。


別フォルダからモジュールをインポートする方法


Pythonでは、異なるディレクトリに保存されたモジュールを利用することもできます。


先ほどの例では、bank.pyモジュールはmain.pyと同じフォルダ内に配置されていました。これはプログラムが短かったため、専用のモジュールフォルダを用意する必要がなかったからです。しかし、大規模なプログラムを開発する場合は、モジュールを個別のフォルダに整理して保存したくなるでしょう。


そのような場合は「from」キーワードを使用します。これにより、どのフォルダからモジュールをインポートするかを指定できます。


たとえば、bank.pyモジュールをbank_detailsというフォルダへ移動したとしましょう。この場合、import文を「import bank」から次のように変更すれば、目的のモジュールをインポートできます。


from bank_details import bank


これにより、bank.pyファイルの内容をプログラムに取り込めます。「from bank_details」の部分は、モジュールの場所(モジュール名前空間とも呼ばれます)をプログラムに伝える役割を果たします。この例では、bank_detailsがモジュールの名前空間であり、プログラムで使用するPythonコードを含むフォルダを指しています。


まとめ


モジュールの作成は、通常のPythonファイルの作成と何ら変わりません。モジュールとは、単なるPythonのファイルにすぎません。「import」文と組み合わせることで、モジュールを使ってコードを分割できます。これにより、プログラムのコードをすべて1つのファイルに詰め込む必要がなくなり、複数のファイルに分割しながら、コードを機能ごとに整理できるようになります。

  1. Pythonモジュールの開発方法をわかりやすく解説!作成からインポートまで

    Pythonモジュールとは?Pythonには、関数や変数などの定義を1つのファイルにまとめ、それをスクリプトや対話型インタープリタから再利用する仕組みが用意されています。このような定義を格納したファイルのことをモジュールと呼びます。モジュール内で定義された関数や変数は、他のモジュールにインポートして使うこともできますし、メインモジュール(トップレベルで実行されるスクリプトや電卓モードでアクセスできる変数群)に取り込むことも可能です。モジュールはどのように検索されるのかたとえば hello というモジュールをインポートするとき、インタープリタは以下の順序でファイルを探します。実行中のスクリプトが

  2. Pythonモジュールの仕組みを徹底解説!importの基本と使い方を実例で学ぼう

    Pythonでは、関数や変数などの定義(definition)をひとつのファイルにまとめ、それをスクリプトやインタラクティブな対話シェルの中で再利用することができます。このような定義を格納したファイルのことを「モジュール(module)」と呼びます。 モジュールとは何か モジュール内に書かれた定義は、他のモジュールにインポートして利用できますし、メインモジュールに読み込むことも可能です。ここでいうメインモジュールとは、トップレベルで実行されるスクリプトや、電卓モード(対話モード)でアクセスできる変数群のことを指します。 モジュールが見つかる仕組み:検索パス 例えば hello というモジュ