2015. 6. 5. 15:20

모든 파이썬 모듈은 독립적으로 수행될 수도 있고,

다른 모듈에 의해 호출될 수도 있다!


이때 지금 모듈이 가장먼저 수행되는 최상위 모듈인지, 

아니면 다른 모듈에 의해 임포트 되는 모듈인지 구별하기 위해!

__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

Posted by Triany