Programming Languages/Python

파이썬 모듈에서 if __name__ == "__main__": 의미

둠드 2019. 6. 28. 16:28

__name__

파이썬의 장점 중의 하나는 다른 사람들이 만든 라이브러리를 쉽게 활용할 수 있다는 점이다. import 문을 통해서 원하는 함수를 쉽게 가져와 사용할 수 있다. 

 

그런데 살펴보다보면 모듈 파일 내에 아래와 같은 형태로 작성된 부분이 존재하는 데, 

if __name__ == "__main__":

만약 모듈 파일을 프롬프트 창에서 직접 C:> 모듈.py 를 실행할 경우 __name__이 "__main__"이 참이 되어 문장 내의 구문이 실행된다.

반대로 단순히 import를 할 경우 __name__이 "__main__"이 거짓이 되어 실행되지 않는다. 

즉, 모듈을 간단히 테스트하기 위해 주로 사용된다.

 

그리고 __name__은 모듈 안에서 모듈이름을 반환한다. 

모듈.__name__

다음과 같이 라이브러리 파일의 위치와 버전을 확인할 수 있다.

# 라이브러리 위치 확인

import cv2
print (cv2 .__file__)
# 라이브러리 버전확인하기

import h5py
print ('h5py'+h5py .__version__)