Python モジュールの作成とインポート

ここでは Python のモジュールの作成とインポートの方法についてご説明します。

Python のモジュールを作成する

Python のモジュールを作成するには、モジュールにしたいコードを拡張子 .py のファイルに保存します。

では、モジュールを作成してみましょう。

module1.py という名前のファイルに、次のような company_info という辞書と、引数の合計を計算する add という名前の関数を保存してください。

company_info = {
  "company_name": "ABC Company",
  "city": "Tokyo",
  "postal_code": "100-0004"
}

def add(*values):
    total = 0
    for v in values:
        total += v  
    return total

これで module1 という名前のモジュールを作成したことになります。


Python のモジュールをインポートする

Python のモジュールをインポートするには、import 文を使います。

インポートの方法は何通りかありますが、次のようにインポートすると、モジュール内の関数などが全部インポートされます。

import モジュール名

モジュール名はファイル名の拡張子の .py を除いた部分です。

そして、モジュール内の変数や関数を利用する時は モジュール名.変数名モジュール名.関数名() のように使います。


では、先ほど作った module1 モジュールをインポートして company_info 変数や、add 関数を利用してみましょう。

同じディレクトリに test.py というファイルを作って、以下のようにモジュールをインポートして、company_info 変数やadd 関数を使うことができます。

import module1

print(module1.company_info)
print(module1.add(1, 2, 3, 4, 5))

実行結果は次のようになり、module1 モジュールの company_info 変数と add 関数が使えていますね。

{'company_name': 'ABC Company', 'city': 'Tokyo', 'postal_code': '100-0004'}
15

Python の組み込みモジュールをインポートする

Pythno の組み込みモジュールも同じ方法でインポートして使うことができます。

試しに、良く使われる組み込みモジュールのひとつの math モジュールをインポートして使ってみましょう。


float(浮動小数点数)を四捨五入したい時には round() 関数が使えますが、切り上げ、切り捨てしたい時は math モジュールの ceil() と floor() を使います。

import math

print(round(1.4))
print(round(1.5))
print(math.ceil(1.4))
print(math.floor(1.5))

実行結果は次のようになります。 math.ceil() と math.floor() を使って、数字が切り上げ・切り捨てされていますね。

1
2
2
1

モジュール内の特定の関数のみインポートする

モジュール内の特定の関数のみインポートして利用することも可能です。

from モジュール名 import 関数名1, 関数名2, 関数名3, ...

このようにインポートした時は モジュール名.関数名() ではなく、関数名() のみで利用します。


例えば、先ほどの math モジュールから ceil と floor 関数のみをインポートしたいのであれば次のようにします。

from math import ceil, floor

print(ceil(1.4))
print(floor(1.5))

実行結果は次のようになります。

2
1

同様に from モジュール名 import 変数名 のようにして変数だけインポートすることも可能です。


エイリアスをつけてモジュールをインポートする

Python のモジュールやその中の関数などをインポートする時にエイリアス(別名)をつけて、そのエイリアスを使って利用することもできます。

import モジュール名 as エイリアス

from モジュール名 import 関数名 as エイリアス

使う時にはモジュールのほうは エイリアス.関数名()、関数のほうは エイリアス() のように使います。


例えば、最初に作った module1 にエイリアスをつけてインポートする時は次のようにします。

import module1 as m1

print(m1.add(1, 2, 3, 4 ,5))

module1 モジュールの add() 関数にエイリアスをつけてインポートする時は、次のようします。

from module1 import add as a

print(a(1, 2, 3, 4 ,5))

以上、Python のモジュールの作成とインポートの方法についてご説明しました。

© 2024 やさしい Python 入門