Pythonは多種多様なmain()の書き方に対応した言語である。そこでよく見かけるmian()の書き方を紹介する。
- 何も書かない
- if __name__ == “__main__”:
- if __name__ == “__main__”:
main() - if __name__ == “__main__”:
sys.exit(main())
1. 何も書かない
プログラミング言語では、基本的にmain()の中に書かれたコードが上から順に実行されるが、ことPythonに関してはmain()を記載するのは必須ではない。例としてごく単純なコードであるprint()を使用したプログラムを下記に示す。
# コード
# エントリポイント
print(r"ニイタカヤマノボレ 一二〇八")
print(r"トラトラトラ")
print(r"done!")
2. if __name__ == “__main__”:
__name__ はPythonの処理エンジン側で持っている変数で、普通にpythonファイルを実行すると、__main__という文字列が代入され、外部ファイル(ライブラリー)として実行されると、ファイル名が代入される。
# コード
# エントリポイント
if __name__ == "__main__":
print(r"ニイタカヤマノボレ 一二〇八")
print(r"トラトラトラ")
print(r"done!")
3. if __name__ == “__main__”:
main()
上記2のif文の中身を自作のmain()として括り出したものである。このプログラムのメインはここですよ!という設計思想を示すことができる。
# コード
def main():
print(r"ニイタカヤマノボレ 一二〇八")
print(r"トラトラトラ")
# エントリポイント
if __name__ == "__main__":
main()
print(r"done!")
4. if __name__ == “__main__”:
sys.exit(main())
上記3のmain()をexit()内で呼び出しているものである。main()実行終了時に、ステータスを返すことによって、正常に終了したか、あるいはどこでエラーになったかなどを示すことができる。最も規範的な書き方。
# コード
def main():
print(r"ニイタカヤマノボレ 一二〇八")
data_input_01 = input(">>>")
if data_input_01 == "success":
print(r"トラトラトラ")
print(r"done!")
return 0
else:
print("error!")
return 1
# エントリポイント
if __name__ == "__main__":
sys.exit( main() )
EOF
Aw, this was a very good post. Spending some time and actual effort to produce a superb article… but
what can I say… I put things off a whole lot and never manage to get nearly anything done.
コメントありがとうございます。
お互いそれなりに頑張りましょう。
(Please, Google Translate and read)
Hi to all, how is the whole thing, I think every one is getting more
from this site, and your views are good for new viewers.