6. 모듈 과 패키지 6.4 모듈의 name속성

C급 개발자와 함께하는 파이썬

6.4 모듈의 name속성

모든 모듈은 이름을 가지고 있습니다. 이것은 모듈 내에 포함된 명령을 통해 모듈의 이름을 알수 있습니다. 이 속성은 모듈이 불려지면서 사용되고 있는지 아니면 인터프리터에서 곧바로 실행된 것인가를 구분하는데 편리하게 사용됩니다. 모듈 내부의 코드는 모듈이 첫번째로 불러들여 졌을때 실행하게 되어있습니다. 이러한 속성을 통해 모듈이 외부로부터 실행되어졌을 때와 곧바로 실행되었을 때에 따라 각각 다르게 처리가 가능합니다. 이를 위해 name속성을 사용합니다.






위 프로그램은 다음과 같이 코딩되어있습니다.

만약 직접 실행이 된경우는 “이 프로그램은 자신이 실행한 프로그램 입니다.”를 실행하도록 되어있습니다.

다른 프로그램을 이용하여 실행된 경우에는 “이 프로그램은 외부에서 실행된 프로그램 입니다.”를 실행하도록 되어 있습니다.


첫번째 라인에서 __name__ == “__main__” 인 경우는 직접 실행된 경우를 나타냅니다.

그래서 python3 exam06_004.py를 실행한경우는 “이 프로그램은 자신이 실행한 프로그램 입니다.”를 출력하고 있습니다.

그리고 python3 프로그램 안에서 import exam06_004를 하는 경우는 “이 프로그램은 외부에서 실행된 프로그램 입니다.”를 출력하고 있습니다.


직접실행한 경우와 외부에서 실행한 경우를 명확하게 아는것이 중요합니다.


댓글 남기기

이메일 주소는 공개되지 않습니다. 필수 필드는 *로 표시됩니다

이 사이트는 스팸을 줄이는 아키스밋을 사용합니다. 댓글이 어떻게 처리되는지 알아보십시오.