pythonの勉強をしていると
if __name__ == '__main__' :
という記述を見かけますよね、これがあると何が起こるのかという話です。
これがあると
importしたときに関数が実行されなくなります。
こんな関数helloをimportすると
とimportしただけで関数mainが実行されてしまいます、では
if __name__ == '__main__' :
を入れたバージョンをimportしてみましょう。
これをつけることでimportしたときに関数が実行されなくなりましたね。
#そもそも__name__って何?#
__name__はpythonの特殊な変数です。
これにはPythonのモジュール名が文字列で格納されています、
つまり
import hello
とすれば__name__ は'hello' という文字列になります。
python hello.py
とすれば __name__は'__main__'という文字列になります。
これらはPythonが自動で設定してくれます。
##つまり##
if name == 'main':
というIF文はこのコードが
python hello.py
で実行されたものなのか否かを判定しているわけです。