Pythonでは、__main__
と__init__
は非常に重要な役割を果たします。これらは、Pythonのプログラムがどのように実行されるかを制御するための特殊なメソッドです。
main.pyとは?
__main__.py
はPythonパッケージをスクリプトとして実行するためのファイルです。このファイルは、よく実行用のファイルとして定義されるmain.py
とは異なります。
以下に__main__.py
の使用例を示します。
# プロジェクト構成
# demo
# ├── __init__.py
# ├── __main__.py
# └── echo.py
# __init__.py
from . import echo
echo.echo("__init__ から実行")
# __main__.py
from .echo import echo
echo("__main__.pyから実行")
# echo.py
def echo(text="not text"):
print(text)
このような構成でスクリプトのように実行した場合、__init__.py
と__main__.py
ファイルが実行されます。
name == ‘main‘とは?
__name__ == '__main__'
は、Pythonファイルが直接実行されたかどうかを判断するための条件式です。この条件式がTrueになるとき、つまりファイルが直接実行されたときに、特定のコードを実行することができます。
以下にその使用例を示します。
# main.py
def main():
...
if __name__ == '__main__':
main()
このように書くことで、コマンドラインからpython main.py
のように実行したときに、__name__ == '__main__'
の条件がTrueになるため、main
関数を実行することができます。
init.pyとは?
__init__.py
は、そのフォルダがPythonパッケージであることを示すためのファイルです。このファイルが存在すると、そのディレクトリはPythonパッケージとして認識されます。
以上が、Pythonの__main__
と__init__
についての基本的な説明です。これらの理解は、Pythonプログラミングの理解を深めるために重要です。