Pythonでは、一つ一つのファイルは「モジュール」(module)として扱うことができます。したがって、「他のファイルに書いた関数を呼び出す」ということは、「他のモジュールの関数を呼び出す」と言えます。
モジュールのインポート
Pythonで別のファイルに書いた関数を呼び出すには、import
キーワードを使用します。以下に使用例を示します。
import module1
c = module1.foo(5, 10)
print(c)
上記の例では、module1.py
というファイル内で定義したfoo()
という関数を呼び出しています。import
でモジュールを指定し、そのモジュール内の関数を呼ぶためには.
に続けて関数を指定します。
モジュールがサブディレクトリ内にある場合
モジュールが存在するディレクトリはパッケージ(Package)になります。モジュールが存在するパッケージを指定するには、from
でパッケージ名を指定します。例えば、上の例のmodule1.py
が、サブディレクトリ(つまりパッケージ)package1
内にあるなら、呼び出し側は次のようになります。
from package1 import module1
c = module1.foo(5, 10)
print(c)
モジュールを別名で取り込む
名前の衝突が起きた場合などは、モジュールに別名をつけて取り込むと良いでしょう。例えば、次の例ではmodule1
をm1
という名前でインポートしています。
from package1 import module1 as m1
c = m1.foo(5, 10)
print(c)
モジュール内の特定の関数だけをインポートする
もしモジュール内の特定の関数だけをインポートして呼び出したい場合は、from
で、パッケージとモジュールを指定して、import
で取り込む関数名を指定できます。
from package1.module1 import foo
c = foo(5, 10)
print(c)
以上、Pythonで他のファイルで定義した関数を呼ぶ方法を説明しました。