Programming/Python

파이썬에서 main() 함수는 어디에 있는가?

매직블럭 2016. 6. 30. 17:58

파이썬을 처음 접하면서 프로그램의 시작점이 어디인가에 대한 궁금증이 생겼다.


뭐 결론적으로 정리하자면 

우선 파이선은 인터프리터 언어의 특성상 전체 코드의 시작부터 끝까지 모든 라인을 수행한다.

그렇기에 따로 메인 함수가 없는것. 


그렇다면 가끔 코드에서 보이는 if __name__ == '__main__'  이녀석의 정체는 무엇인가  


파이선 코드의 경우 인터프리터가 해당 코드를 불러서 직접 실행 할 수도 있고, 다른 파이썬 파일에서 

import로 불러다 사용할 경우도 있을 것이다.


인터프리터가 직접 실행하는 경우는 내부적으로 존재하는 __name__ 이라는 변수의 내용을 __main__으로 할당한다.


따라서 저 if문의 의미는 해당 코드가 인터프리터가 직접 실행 한 경우에 한해서만 수행하라는 의미가 된다.


마찬가지로, 저 범위에 들어 있는 내용은 다른 코드에서 import 하여 사용하는 경우에는 동작하지 않게 된다.