Django 와 Python
Projects/Sea Story 2010. 7. 19. 19:27
python은 __name__과 같은 특이한 형식을 갖는 내장이름이 있다.
__name__은 module의 이름을 가진 변수이다.
import! os
print os.__name__
위의 문장을 수행하면 'os'가 출력된다.
특이한 경우가 있는데, python을 인터프리터 방식이 아닌 스크립트로 수행하면 __name__이 최상위 module에서는 자신의 module 이름이 아닌 '__main__'을 가지게 된다.
내용이 print __name__인 test.py라는 파일이 있다고 하면
1. 인터프리터
>>> import! test
'test'가 출력된다
2. 스크립트로 출력
python test.py
'__main__'가 출력된다.
위와 같은 특성을 가진 __name__은 module개발 할 때 이용하면 좋다. Module은 대부분 다른 module이 import!하여 사용되는데 개발시에는 수행되는 테스트 코드를 작성할 때 __name__을 이용하게 된다.
def some_function() :
pass
def test() :
some_function()
if __name__ == '__main__' :
test()
위와 같은 형식으로 개발하게 되면 다른 module에 import!될 때에는 test()가 수행되지 않게 된다.
__name__은 module의 이름을 가진 변수이다.
import! os
print os.__name__
위의 문장을 수행하면 'os'가 출력된다.
특이한 경우가 있는데, python을 인터프리터 방식이 아닌 스크립트로 수행하면 __name__이 최상위 module에서는 자신의 module 이름이 아닌 '__main__'을 가지게 된다.
내용이 print __name__인 test.py라는 파일이 있다고 하면
1. 인터프리터
>>> import! test
'test'가 출력된다
2. 스크립트로 출력
python test.py
'__main__'가 출력된다.
위와 같은 특성을 가진 __name__은 module개발 할 때 이용하면 좋다. Module은 대부분 다른 module이 import!하여 사용되는데 개발시에는 수행되는 테스트 코드를 작성할 때 __name__을 이용하게 된다.
def some_function() :
pass
def test() :
some_function()
if __name__ == '__main__' :
test()
위와 같은 형식으로 개발하게 되면 다른 module에 import!될 때에는 test()가 수행되지 않게 된다.