__name__ == '__main__' を使う場合
from samplepackage import yourmodule
を実行したとき、yourmodule
内のコードはすべて実行される。
例えば samplepackage/yourmodule.py
が次のコードで構成されているとする。
def sample_func(): print('hello from sample func.') sample_func()
import した時点で sample_func()
も一緒に実行される。
- import した時点では
sample_func()
を呼びたくない python samplepackage/yourmodule.py
を実行した場合はsample_func()
を呼ぶ
という場合は samplepackage/yourmodule.py
は次の通りとするのが妥当である。
def sample_func(): print('hello from sample func.') if __name__ == '__main__': sample_func()