Language/Python
if __name__ == "__main__"
Linuxias
2017. 12. 18. 23:06
반응형
if __name__ == "__main__" 은 어떤 의미인가?
if __name__ == "__main__":
# Doing something
__name__은 python 내부변수로 사용된다.
python은 C, C++ 등 여러 다른 언어들과 달리 main으로 실행되는 함수가 존재하지 않는다.
사용자가 python code 작성 시 'Level 0코드'들을 파일 위에서부터 순차적으로 인터프리터로 처리한다.
여기서 'Level0 코드'란 들여쓰기가 존재하지 않는 코드를 말한다.
exampleA.py란 파일 내에 해당 if문이 명시되어 있다고 할 때, if __name__ == "__main__" 을 사용하면 exampleA.py를 실행 시켰을 때, __name__이 참이되고, 해당 조건문 내의 로직이 수행된다.
만약 exampleA.py가 exampleB.py에 import 되어 있다면, exampleB가 수행될 때 exampleA.py에 명시된 조건문은 거짓이 되고 실행되지 않는다.
즉, if __name___ == "__main__" 은 직접 인터프리터에 의해 실행되는가 여부를 확인하는 조건문이라고 생각하면 좋다.
반응형