본문 바로가기
Python

[Python] if __name__ == “__main__” 쓰는 이유

by 꾸압 2022. 11. 11.

 

<설명>

  아래에 설명을 위한 예제 코드가 있다.

// excuteThisModule.py
def func():
	print("function working")
    
if __name__ == "__main__":
	print("직접 실행")
    print(__name__)
else:
	print("import 되어 사용됨")
    print(__name__)

 


 

  코드를 실행하기 위해선 2가지 방법이 있다,

  (1) 인터프리터에서 직접 실행

python3 executeThisModule.py

 

  (2) 다른 module에서 import 하여 실행

// import한 파일의 이름은 executor.py
import executeThisModule.py
executeThisModule.func()

 


 

  (1)번 방법으로 직접 실행시, __name__ 변수에 __main__ 이 담겨 출력됨

직접실행
__main__

 

  (2)번의 module import방식은, __name__ 변수에 executeThisModule 을 담아 출력.

import 되어 사용됨
executeThisModule

 


 

<정리>

  __name__ == __main__ 은 interpreter에서 직접 실행했을 때만 if문 내부의 코드를 동작하라는 명령

 

  @@ __name__ 이란? interpreter가 실행 전에 만들어 둔 global 변수

 


 

<출처 1> https://medium.com/@chullino/if-name-main-%EC%9D%80-%EC%99%9C-%ED%95%84%EC%9A%94%ED%95%A0%EA%B9%8C-bc48cba7f720

 

 

'Python' 카테고리의 다른 글

[Python] Python module source 보기  (0) 2022.07.15

댓글