実行例は「saka.mokumoku」の「ReplIT」環境に保存してある
1.if __name__ == “__main__”の意味
アンダースコアに惑わされずに読めば
「__name__
に格納されている値が'__main__'
という文字列であれば
この条件文以降の処理を実行するという単なるif文
Pythonのサンプルコードにおまじないのように書かれている
このif文の意味と使い方を説明する
2.使用例
# mymodule.py
print("mymoduleが起動されました")
# thenの部分は直接起動時、elseの部分はimportされた時
if __name__ == "__main__":
print("このコードはmymoduleを直接実行したときに実行されます",__name__)
else:
print("このコードはmymoduleをimportしたときに実行されます",__name__)
上記コードの説明
import mymodule
の場合
トップレベルの部分が処理され以下の表示がされる
”mymoduleが起動されました”
if __name__ == “__main__”:
の
__name__
は「main」なのでelse処理が実行される
”このコードはmymoduleをimportしたときに実行されます”
mymoduleを直接実行(mymodule.pyの起動)した場合
トップレベルの部分が処理され以下の表示がされる
”mymoduleが起動されました”
if __name__ == “__main__”:の
__name__
は「__main__
」なのでthen処理が実行される
”このコードはmymoduleを直接実行したときに実行されます”
# calculator.py
def add(x, y):
return x + y
def subtract(x, y):
return x - y
if __name__ == "__main__":
print(add(3, 4))
print(subtract(10, 5))
上記コードの説明
直接実行すると、足し算と引き算の結果が出力される
importし、 add
関数や subtract
関数だけを利用することもできる