모든 파이썬 모듈은 독립적으로 수행될 수도 있고,
다른 모듈에 의해 호출될 수도 있다!
이때 지금 모듈이 가장먼저 수행되는 최상위 모듈인지,
아니면 다른 모듈에 의해 임포트 되는 모듈인지 구별하기 위해!
__name__ 이라는 내장이름을 가지고 있다.!
인터프리터 모드에 의해 수행해 보면
다른 모듈에 의해 임포트 되는 모듈의 경우 일반적으로 자신의 모듈 이름을 가진다!
>>> import urllib2
>>> urllib2.__name__
'urllib2'
>>> import os
>>> os.__name__
'os'
그럼, 아래 파일을 실행해 보겠다.
name.py
#!/bin/python
print __name__
$ python name.py
__main__
name.py가 프로그램 모드로 수행되면 __name__은 '__main__'이란 이름을 가진다.
가장 먼저 파이썬 인터프리터에 의해 사용되는 모듈이 __main__ 이란 이름을 가진다는 것을 이용하면
아래와 같은 방식으로 특정 코드를 선택적으로 실행하게 할 수 있다.
다른 모듈에 의해 임포트 될 때는 수행되지 않는다.
#!/bin/python
def print():
print 'Hi'
if __name__ == '__main__'
printf()
출처 : 프리렉 이강성의 열혈강의 파이썬 ver.2
'Language > python' 카테고리의 다른 글
[python] 파이썬 if-elif-else 문 / for문 / while문 (0) | 2015.06.12 |
---|---|
[python] datetime 1 days ago, 1일전 표현하기 (0) | 2015.06.06 |
파이썬의 신비로움(for문-else문에 대해서) (0) | 2015.02.25 |
python 파이썬에서 ^M지우기, 행끝의 캐럿 M지우기 (0) | 2014.05.27 |
[파이썬] python 정규식 정리 (0) | 2014.05.23 |