AI資格ドリル
資格を選ぶ↓

Python3エンジニア認定基礎試験 用語解説

__name__ == "__main__"とは

モジュールの末尾に if __name__ == "__main__": と書くと、そのファイルをimportできるモジュールとスクリプトの両方として使える。python fibo.py のように直接実行したときは __name__ に __main__ が設定されるため、この部分のコードが実行される。importされたときは実行されない。

まず押さえる結論

__name__ == "__main__"は、Python3エンジニア認定基礎試験の「第6章 モジュール」に出てくる用語です。定義だけでなく、どの場面で使う言葉か、何と混同しやすいか、問題文のどの表現で判断するかまで確認します。

情報源と編集区分

公式範囲を確認し、具体例・誤答例・判断手順は当サイトが編集。 一次情報確認日: 2026-09-18。

試験概要(公式)

試験での問われ方

01

定義の言い換え

用語そのものではなく、説明文の一部を言い換えて出されることがあります。

02

似た概念との比較

同じ章の用語と入れ替えた選択肢に注意します。対象、目的、使う場面を分けます。

03

具体例からの判断

問題文の事例が、定義のどの部分に対応しているかを先に確認します。

誤答しやすいポイント

「第6章 モジュール」の問題で、取り違えやすい組み合わせです。

  • import モジュール名 と from モジュール名 import 名前 の違い。前者は呼ぶときモジュール名を前に付ける必要がある。
  • 語順の取り違え。from を先に書き、import を後に書く。

関連する確認問題

第6章 モジュール / モジュールをスクリプトとして実行する

次のfibo.pyの末尾に書かれたコードについて、公式チュートリアルの説明に合うものはどれか。 if __name__ == "__main__": import sys fib(int(sys.argv[1]))

正解は「このコードは、fibo.pyが"main"ファイルとしてスクリプト実行されたときにだけ実行され、モジュールとしてimportされた場合には実行されない」である。公式チュートリアル6.1.1「モジュールをスクリプトとして実行する」は、`python fibo.py <arguments>`のように実行すると__name__に__main__が設定される点を除いてimportしたときと同じようにコードが実行されると説明し、`if __name__ == "__main__":`というコードを追加することで、モジュールが"main"ファイルとして起動されたときだけコマンドラインを解釈するコードが実行され、モジュールがimportされた場合はそのコードが実行されないと説明している。したがって、常に実行されるという説明、importされたときだけ実行されるという説明、__name__という変数が存在せず構文エラーになるという説明は、いずれも公式の記載と一致しない。

同じ章で確認したい用語

到達チェック

  • __name__ == "__main__"を一文で説明できる
  • 同じ章の似た用語と違いを説明できる
  • 問題文の具体例から、__name__ == "__main__"に関係する論点を拾える
  • 関連問題を解き、誤答した選択肢の理由を確認できる

執筆: ミナト編集部(運営者情報を見る)