Python で別ファイルに書いた関数を呼び出す方法

Python モジュールを取り込み関数を呼び出す

Python で別のファイルに書いた関数を呼び出す方法について、説明します。

Python ではひとつひとつのファイルは「モジュール」(module) ということができます。つまり、「他のファイルに書いた関数を呼ぶ」ということは「他のモジュールの関数を呼ぶ」といえます。

試しに、 module1.py というファイル内で定義した foo() という関数を呼び出してみましょう。

Python import module

モジュールを利用するには、 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 モジュールを別名で取り込む

名前の衝突が起きた場合などは、モジュールに別名をつけて取り込むと良いでしょう。

例えば、次の例では module1m1 という名前でインポートしています。

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 で他のファイルで定義した関数を呼ぶ方法を説明しました。

ここまでお読みいただき、誠にありがとうございます。SNS 等でこの記事をシェアしていただけますと、大変励みになります。どうぞよろしくお願いします。

© 2024 Python 入門