Programming/Python
파이썬에서 main() 함수는 어디에 있는가?
매직블럭
2016. 6. 30. 17:58
파이썬을 처음 접하면서 프로그램의 시작점이 어디인가에 대한 궁금증이 생겼다.
뭐 결론적으로 정리하자면
우선 파이선은 인터프리터 언어의 특성상 전체 코드의 시작부터 끝까지 모든 라인을 수행한다.
그렇기에 따로 메인 함수가 없는것.
그렇다면 가끔 코드에서 보이는 if __name__ == '__main__' 이녀석의 정체는 무엇인가
파이선 코드의 경우 인터프리터가 해당 코드를 불러서 직접 실행 할 수도 있고, 다른 파이썬 파일에서
import로 불러다 사용할 경우도 있을 것이다.
인터프리터가 직접 실행하는 경우는 내부적으로 존재하는 __name__ 이라는 변수의 내용을 __main__으로 할당한다.
따라서 저 if문의 의미는 해당 코드가 인터프리터가 직접 실행 한 경우에 한해서만 수행하라는 의미가 된다.
마찬가지로, 저 범위에 들어 있는 내용은 다른 코드에서 import 하여 사용하는 경우에는 동작하지 않게 된다.