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

  1. Python の fromimport ステートメントを使って別のファイルからクラスをインポートする
  2. Python で importas ステートメントを使って別のファイルからクラスをインポートする
  3. Python でクラスを別のファイルからインポートする Using sys.path.insert() メソッド

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

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

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

コード例 1:

from myfolder import myfile

class1 = myfile.myclass()

コード例 2:

from myfolder.myfile import myclass

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

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

import myfolder.myfile as myModule
class1 = myModule.myclass()

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

クラスの必要なファイルが別のフォルダにある場合、Python ではカレントディレクトリからしかファイルをインポートできないため、カレントパスをファイルの場所に設定する必要があります。したがって、まず sys.path.insert() メソッドを使ってカレントディレクトリをファイルの場所に設定し、import 文を使ってファイルをインポートします。

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

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

from myfile import myclass

関連記事 - Python Class

  • Python のネストされたクラス