Python学習チャンネル by PyQ

Pythonのオンライン学習プラットフォームPyQのオフィシャルブログです

【お悩み解決】Pythonのmain関数について

f:id:Arty_Mireiyu:20220411130734p:plain

こんにちは、PyQサポートです。

今回は、main()関数について紹介します。

質問:Pythonのmain関数とはいったい何の関数なんでしょうか

main()関数とはいったい何の関数なんでしょうか?用途がよくわかりません。

回答:main関数は、エントリポイント(プログラムの処理の開始地点)を分かりやすくするために作られる関数です。

他のプログラミング言語の中には、必ずmain()という関数を定義して、そのmain()関数がプログラムの開始地点となるものがあります(C言語など)。

なお、このプログラムの開始地点となる場所をエントリポイントと言います。

Pythonの場合はファイルの上から順番に処理されるため、main()関数のようなものを特別に用意する必要はありません。

しかし、ある程度プログラムの規模が大きくなってくると、関数定義やクラス定義などが増え、どこが実質的なプログラムの開始位置なのか分かりにくくなってきます。

このようなとき、他のプログラミング言語のようにエントリポイントがあると、どこからプログラムを読めばよいか分かりやすくなります。

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

def main():
    # ここに処理を書く


if __name__ == "__main__":
    main()

これはPythonでよく使われるどこからプログラムを読めばよいか分かりやすくするためのテクニックです。

main()関数はプログラムの処理の開始地点(エントリポイント)を分かりやすくするために作られる関数と理解されればよいと思います。

なお、エントリポイントとなる関数の名前はmain()でなくてもよいのですが、他のプログラミング言語でよくmain()という関数が使われるので、その慣習からPythonでもmain()という名前がよく使われるのだと思います。

関連するPyQクエスト

blog.pyq.jp

Copyright ©2017- BeProud Inc. All rights reserved.