【python】自作モジュールの実行方法

【python】自作モジュールの実行方法

自作モジュールを作るとするとプログラム作成が楽になります。
今回は単純な自作モジュールをを実行します。

サンプルプログラム

main.py

import sample

i="200"
n="300"

sample.hyouji(i,n)

sample.py


def hyouji(a,b):

    print(a)
    print(b)
    c="さしすせそ"
    print(a+b+c)

if __name__ == '__main__':
    x="あいうえお"
    y="かきくけこ"
    test=hyouji(x,y)

mai.pyの実行結果&変数説明

【main.py】
import sample・・・自作モジュールsample.pyの読み込み
sample.hyouji(i,n)・・・sample.pyの中のhyouji関数にiとnを渡す

【sample.py】
def hyouji(a,b):・・・hyouji関数(aとbはmain.pyのinが入る)
if __name__ == ‘__main__’:・・・sample.pyを直接実行したときに実行
test=hyouji(x,y)・・・hyouji関数にxとyを渡す

※今回のサンプルプログラムでは
 同じフォルダに2つのプログラムを入れておいてください

解説

 main.pyを実行するとimportで自作モジュールのsample,pyを読み込みます。この時、sample.pyのif __name__ == ‘__main__’:以下は実行されません。
(※なんであるの?ともうかもしれませんがsample.pyのテスト用です)
 sample.hyouji(i,n)でi=200とn=300を代入してsample.pyのdef hyouji(a,b):に渡します。ここで「i=200」→「a=200」と「n=300」→「b=300」となり、それ以降のプログラムが実行されます。

補足

 sample.pyを直接実行すると下記の結果となります。
if __name__ == ‘__main__’:以下のxとyの値がaとbとして渡されます。

あとがき

 最初はif __name__ == ‘__main__’:のありがたみが分かりませんでしたが、自作モジュールの運用を行うとありがたみが分かります。これがないとimport後に勝手に実行されてしまいます。
 自作モジュールを作るとわざわざコピー&ペーストする必要がなく、修正も楽になりますのでモジュール化して運用することをお勧めします。