HOWTO · Python

Python で別のファイルからクラスをインポートする

このチュートリアルでは、Python で別のファイルからクラスをインポートする方法を示します。

このページの内容

このチュートリアルでは、Python で別のファイルからクラスをインポートするための様々な方法を説明します。コードの中で別のクラスのメソッドを使いたい場合、別のファイルからクラスをインポートする必要があります。メソッドを再度実装する必要がないので時間の節約になりますし、現在のプロジェクトにメソッドをコピーペーストする必要がないのでコードがきれいに見えます。

Python の from と import ステートメントを使って別のファイルからクラスをインポートする

ファイルからインポートしたいクラスが別のフォルダにあるとします。from ステートメントと import ステートメントを使用して、ファイル myfolder からファイル myfile をインポートするか、myfolder.myfile からクラス myclass をインポートするかです。以下の 2つの例では、Python でファイルからクラスをインポートする方法を示しています。

コード例 1:

from myfolder import myfile

class1 = myfile.myclass()

コード例 2:

from myfolder.myfile import myclass

Python で import と as ステートメントを使って別のファイルからクラスをインポートする

別のファイルにあるクラス myclass の myfunction() メソッドを使いたいとします。Python の import 文と as 文を使って myclass をインポートすることで、この関数を利用することができます。以下のコード例は、別のファイルからクラスをインポートする方法を示しています。

import myfolder.myfile as myModule

class1 = myModule.myclass()

Python でクラスを別のファイルからインポートする Using sys.path.insert() メソッド

クラスの必要なファイルが別のフォルダーにある場合は、そのフォルダーを sys.path リストに追加できます。このリストは、Python がモジュールをインポートするために検索します。したがって、最初に sys.path.insert() メソッドを使用してフォルダを sys.path に追加し、次に import ステートメントを使用してファイルをインポートする必要があります。

以下のコード例は、Python でカレントディレクトリのパスを変更してファイルをインポートする方法を示しています。

from myfile import myclass
import sys

sys.path.insert(1, "/path/to/application/app/myfolder")