Pythonの if __name__ == ‘__main__’ の使い方【初心者向け】
初心者向けにPythonの if __name__ == '__main__' の使い方について解説しています。これによりモジュールを直接実行したときだけ実行する動作を指定することができます。if __name__ == ‘__main__’の使用例と書き方について学びましょう。
テックアカデミーマガジンは受講者数No.1のプログラミングスクール「テックアカデミー」が運営。初心者向けにプロが解説した記事を公開中。現役エンジニアの方はこちらをご覧ください。 ※ アンケートモニター提供元:GMOリサーチ株式会社 調査期間:2021年8月12日~8月16日 調査対象:2020年8月以降にプログラミングスクールを受講した18~80歳の男女1,000名 調査手法:インターネット調査
Pythonの if __name__ == ‘__main__’ の使い方について解説します。
そもそもPythonについてよく分からないという方は、Pythonとは何なのか解説した記事を読むとさらに理解が深まります。
なお本記事は、TechAcademyのオンラインブートキャンプPython講座の内容をもとに紹介しています。
今回は、Pythonに関する内容だね!
どういう内容でしょうか?
if __name__ == ‘__main__’ の使い方について詳しく説明していくね!
お願いします!
if __name__ == ‘__main__’ とは
Pythonではクラスや関数などをまとめたモジュールを作成できます。
モジュールをインポートすると、モジュールの機能を利用できます。
また、モジュールもPythonプログラムなので、モジュールを直接実行することもできます。
モジュールをテストする時など、「モジュールを直接実行した時」と「モジュールをインポートした時」で動作を変えたい場合があります。
このような場合に if __name__ == ‘__main__’ の構文を使います。
モジュールを直接実行した場合に、 __name__ 変数の中身が、’__main__’ になることを利用した手法です。
詳細は公式の文書を参照してください。
if __name__ == ‘__main__’ の書き方
「モジュールを直接実行した時だけ、実行したいコード」をifブロックの中に記述します。
# モジュールのコード。クラスや関数など。 if __name__ == '__main__': # モジュールを直接実行した時だけ、実行したいコード
実際に書いてみよう
サンプルコード
以下のコードを my_module.py という名前で保存します。
print(__name__) def greeting(name): print ('Hello', name) if __name__ == '__main__': greeting('Taro')
実行結果
(例1)モジュールを直接実行した場合
> python my_module.py __main__ Hello Taro
__name__変数の中身は’__main__’になっています。
6,7行目の if __name__ == ‘__main__’ の部分が実行されます。
(例2)インタプリタでモジュールを読み込んだ場合
>>> import my_module my_module >>> my_module.greeting('Hanako') Hello Hanako
__name__変数の中身は’my_module’になっています。
6,7行目の if __name__ == ‘__main__’ の部分が実行されません。
監修してくれたメンター
橋本紘希
システムインテグレータ企業勤務のシステムエンジニア。 |
内容分かりやすくて良かったです!
ゆかりちゃんも分からないことがあったら質問してね!
分かりました。ありがとうございます!
TechAcademyでは、初心者でもPythonを使った人工知能(AI)や機械学習の基礎を習得できるオンラインブートキャンプPython講座を開催しています。
挫折しない学習方法を知れる説明動画や、現役エンジニアとのビデオ通話とチャットサポート、学習用カリキュラムを体験できる無料体験も実施しているので、ぜひ参加してみてください。