資格スワイプ
データ構造・モジュール・標準ライブラリPartII・仮想環境(5,6,11,12章)

モジュールmymodule.pyの中に if __name__ == '__main__': という条件分岐でのみ実行される処理を記述した。このモジュールを別のスクリプトからimport mymoduleとして読み込んだ場合、その処理はどうなるか。

  • Aimportされた際にも必ず実行される。
  • Bimportにエラーが発生する。
  • CPython起動時に自動的に実行される。
  • ✓importされた際には実行されない。

解説

モジュールがスクリプトとして直接実行されたときは__name__に'__main__'が設定されるが、importされた場合は__name__にモジュール名が設定されるため、if __name__ == '__main__':配下の処理は実行されない。

根拠Pythonチュートリアル 6.1.1 モジュールをスクリプトとして実行する

← 前の問題次の問題 →
スワイプでまとめて流す