if __name__ == '__main__'의 의미

oneofakindscene·2021년 8월 4일
0

python

목록 보기
1/7

if name == 'main'이 있고 없고의 차이는?

import 했을 때 차이를 알 수 있음

  • main_test.py 파일
def main_prac(text):
    new_text = 'main_prac : ' + text
    return new_text

print(main_prac('this is main_test2.py'
  • main_test2.py 파일
def main_prac(text):
    new_text = 'main_prac : ' + text
    return new_text

if __name__ == "__main__":
   print(main_prac('this is main_test2.py'))
  • shell에서 python 실행 후 import main_test, import main_test2.py 했을 때 차이가 있다.
$ python
Python 3.7.6 (default, Jan  8 2020, 13:42:34)
[Clang 4.0.1 (tags/RELEASE_401/final)] :: Anaconda, Inc. on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> import main_test
main_prac : this is main_test.py
>>> 
>>> import main_test2
  • 차이점은 if __name__ == '__main__' 이 있는 main_test2.py를 import 했을땐 함수가 실행되지 않음

(참고) python main_test.py 와 python main_test2.py 했을 경우

  • 차이 없음 : 둘다 함수가 실행됨

References

profile
oneofakindscene

0개의 댓글