티스토리 뷰
package인식을 위한 __init__은 확인했지만 코드보면 아래와 같은 코드가 자주 보인다
if __name__ == "__main__":
뭐하는 코드인지 살펴보기위해 Document를 살펴보면 다음과 같다
( https://docs.python.org/3/library/__main__.html )
결국 script로 호출 , 즉 top-level로 호출될때 사용되는 내부 모듈이라 할 수 있다.
파이썬은 다른 함수와 달리 Main함수가 없기 때문에.. 종종 사용되는 구문인듯 싶다
다음의 코드를 보면 이해에 도움이 된다
file A.py
def func():
print("function A.py")
print("top-level A.py")
if __name__ == "__main__":
print("A.py 직접 실행")
else:
print("A.py가 임포트되어 사용됨")
file B.py
import A
print(""top-level in B.py"")
one.func()
if __name__ == "__main__":
print("B.py가 직접 실행")
else:
print("B.py가 임포트되어 사용됨")
>> python A.py top-level in A.py A.py가 직접 실행 >>python B.py top-level in A.py A.py가 임포트되어 사용됨 top-level in B.py function A.py B.py가 직접 실행
즉 직접 실행인지 import되어 사용되는지 검증하는 코드이다
참고 URL
: http://hashcode.co.kr/questions/3/if-__name__-__main__%EC%9D%80-%EC%99%9C%EC%93%B0%EB%82%98%EC%9A%94
'Dev > python' 카테고리의 다른 글
DB browser for SQLite (0) | 2017.01.31 |
---|---|
pip upgrade ( win32 module ) (0) | 2017.01.25 |
[Python] Anaconda 소개 및 설치 (0) | 2017.01.25 |
Pycharm install (0) | 2017.01.17 |
댓글