if name == 'main'이 있고 없고의 차이는?
import 했을 때 차이를 알 수 있음
def main_prac(text):
new_text = 'main_prac : ' + text
return new_text
print(main_prac('this is 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