모듈
__name__
전역 변수가 정확히 어떤 역할을 하는지 알기 위해선 python 에서의 모듈 개념에 대해서 먼저 알고 있어야 한다.
인터프리터 입력을 에디터를 사용해서 준비한 후에 그 파일을 입력으로 사용해서 실행하는 것을 스크립트를 만든다고 한다. 여러 프로그램(스크립트)에서 썼던 편리한 함수를 각 프로그램에 정의를 복사하지 않고 사용하는 것을 지원하기 위해 파이썬은 정의들을 파일에 넣고 스크립트나 인터프리터의 대화형 모드에서 사용할 수 있는 방법을 제공한다. 그런 파일을 모듈이라고 한다. 모듈로부터 정의들이 다른 모듈이나 메인 모듈로 임포트 될 수 있다.
모듈은 파이썬 정의와 문장들을 담고 있는 파일이다. 파일의 이름은 모듈 이름에 확장자 .py
를 붙인다.
__name__
모듈의 이름은 전역 변수 __name__
으로 제공 된다. 즉 현재 py 파일의 이름을 가지고 있는 변수라는 것이다.
예를들어, fibo.py 라면 __name__
전역 변수가 fibo라는 문자열을 가지고 있게 된다.
그렇다면 if __name__
== __main__
은 뭘까?
위에 설명했던 것 처럼 __name__
전역 변수가 자기 자신의 모듈 이름을 가지고 있지만, 자기 자신의 모듈 안에서 __name__
를 호출하게 되면
__main__
문자열을 갖게 된다.
예를들어, test1.py 와 test2.py 가 있을 때, test1에 test2를 import 하게 되면, test1은 __main__
이 되고 test2는 ‘test2’가 된다.
댓글남기기