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 のモジュールの作成とインポートの方法についてご説明しました。