ray88’s diary

お仕事で困ったとき用の自分用の覚書

Python 他のファイルの関数を使う(モジュールのインポートと再読込み)

各種目次 - ray88’s diary
python 目次 - ray88’s diary
■exchange.pyファイル
円→ドルに換算する関数「yen2dollar()」とドル→円に換算する関数「dollar2yen()」を定義しているモジュールファイル

#円をドルに換算する
def yen2dollar(yen,rate,charge=0):
    dollar = yen / (rate + charge)
    return dollar

#ドルを円に換算する
def dollar2yen(dollar,rate,charge=0):
    yen=dollar*(rate-charge)
    return yen

■main.py
exchange.pyモジュールを読み込んで関数を実行する

import exchange #exchange モジュールを読み込む
yen = 25000
rate = 114.22 #レート
charge = 1.0 #為替手数料
dollar = exchange.yen2dollar(yen,rate,charge) #関数を呼び出い
print(f"{dollar:,.2f}ドル")

実行結果

■モジュールの再読み込み
 importして試していたモジュールのコードを編集し、再びimportして動作チェックする場合、コードの変更が更新されないことがある。
 importされたモジュールのキャッシュが原因となる。解決方法としてモジュールを再読み込みするためimportlibモジュールにあるreload()でモジュールを再読み込みする。

import importlib
importlib.reload(exchange)