見出し画像

【Python入門#07】main関数を定義しよう

・main関数を定義する必要はある?

実は…
Pythonではmain関数を定義する必要はありません…
Pythonの場合は、ファイルの上から順番に処理されるからです


では、なぜ定義するのかって話になりますよね。
  👉それは様々なメリットがあるからです!



・main関数を定義するメリット

・コードが読みやすくなる

プログラムの規模が大きくなってくると、関数定義やクラス定義などが増え、どこが実質的なプログラムのエントリポイント(開始位置)なのか分かりにくくなってきます。

Pythonでプログラミングするときも、エントリポイントとして便宜的にmain関数を作成し、その中に処理を書く方法がよくとられます。


・処理内容を把握できる

おおまかな処理の流れをmain関数で、詳細はmain関数の中で各関数に分けることで、全体の見通しがよくなります。


・テストがやりやすくなる

main関数を使わずに、書き続けているとテスト(デバッグ)がやりづらくなります。


・意図しないエラーを防げる

main関数を使わずに書いていると、変数はグローバル変数扱いとなり意図しないバグにつながる恐れがあります。



・main関数の定義

・基本的な構成

下記の記述がよく使われます。
①main関数を定義する
if __name__ == “__main__”:を記述してmain関数を呼び出す

# main関数を定義
def main():
    print("hello world")


# Pythonスクリプトとして実行された場合、main関数を呼び出す
if __name__ == '__main__':
    main()


#### 出力結果 ####
hello world

気になる「if __name__ == '__main__':」について解説します。


・if __name__ == “__main__”:とは?

モジュールがコマンドラインから直接実行されたかどうかを判定するコードですここでは、『Pythonスクリプトとして実行された場合(○○.pyが実行された場合)のみ、if __name__ == “__main__”: 配下の処理が実行される』と覚えておきましょう!

後々、モジュールを学習してから深く理解すればOKです!

この記事が気に入ったらサポートをしてみませんか?