Python で別ファイルに書いた関数を呼び出す方法
Python モジュールを取り込み関数を呼び出す
Python で別のファイルに書いた関数を呼び出す方法について、説明します。
Python ではひとつひとつのファイルは「モジュール」(module) ということができます。つまり、「他のファイルに書いた関数を呼ぶ」ということは「他のモジュールの関数を呼ぶ」といえます。
試しに、 module1.py というファイル内で定義した foo() という関数を呼び出してみましょう。
モジュールを利用するには、 import でモジュールを指定します。そして、そのモジュール内の関数を呼ぶためには . に続けて関数を指定します。
それでは試してみましょう。
ファイル module1.py に次の内容を書きます。
def foo(a, b):
return a + b
これを利用する側のファイル (test1.py) で、次のようにします。
import module1
c = module1.foo(5, 10)
print(c)
実行結果は次のようになります。
15
確かに foo() 関数が呼ばれて足し算が成功しています。
Python モジュールがサブディレクトリ内にある場合
Python ではモジュールを格納するディレクトリはパッケージ (Package) になります。 モジュールが存在するパッケージを指定するには、from でパッケージ名を指定します。
例えば、上の例の module1.py が、サブディレクトリ (つまりパッケージ) package1 内にあるなら、 呼び出し側は次のようになります。
from package1 import module1
c = module1.foo(5, 10)
print(c)
Python モジュールを別名で取り込む
名前の衝突が起きた場合などは、モジュールに別名をつけて取り込むと良いでしょう。
例えば、次の例では module1 を m1 という名前でインポートしています。
from package1 import module1 as m1
c = m1.foo(5, 10)
print(c)
Python モジュール内の特定の関数だけをインポートする
もしモジュール内の特定の関数だけをインポートして呼び出したい場合は、from で、 パッケージとモジュールを指定して、import で取り込む関数名を指定できます。
from package1.module1 import foo
c = foo(5, 10)
print(c)
以上、Python で他のファイルで定義した関数を呼ぶ方法を説明しました。