LoginSignup
0
2

More than 1 year has passed since last update.

if __name__ == '__main__': って何?

Posted at
1 / 2

pythonの勉強をしていると

if __name__ == '__main__' :

という記述を見かけますよね、これがあると何が起こるのかという話です。

これがあると
importしたときに関数が実行されなくなります。
image.png
こんな関数helloをimportすると
image.png

とimportしただけで関数mainが実行されてしまいます、では

if __name__ == '__main__' :

を入れたバージョンをimportしてみましょう。
image.png
image.png
これをつけることでimportしたときに関数が実行されなくなりましたね。

そもそも__name__って何?

__name__はpythonの特殊な変数です。
これにはPythonのモジュール名が文字列で格納されています、
つまり
import hello
とすれば__name__ は'hello' という文字列になります。
python hello.py
とすれば __name__は'__main__'という文字列になります。
これらはPythonが自動で設定してくれます。

つまり

if __name__ == '__main__': 

というIF文はこのコードが

python hello.py

で実行されたものなのか否かを判定しているわけです。

0
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2