지난 TIL#50에 if name == “main”: 에 관해 간단히 정리한 적이 있었다.
단순히 script test을 위한 code라고 생각했지만, 이번에 직접 작성한 모듈을 main script에 import하는 과정에서 겪은 작은 오류를 겪으면서 python에서 모듈을 import하는 방식에 대해 공부해 보았다.
TIL #50 Python - (name == 'main')
import는 실제로 import한 파일에 실행 가능한 코드를 모두 실행 시킨다, 즉 print, input 같은 실행 가능한 모든 코드가 실행 된다.
>>> print(test.py.__name__)
>>> test
>>> print(__name__)
>>> __main__
if __name__ == '__main__':
import 되지 않고, 직접 실행 할 때만 if가 true가 되어 if 아래 코드 실행
-직접 실행 할 때만 if 아래의 코드가 실행 되므로 import 되어 함수들이 사용 될 때 실제 돌아가고 있는 코드에 영향 없음
직접 실행되는 파일이 아닌 함수들을 모아놓은 파일에서 함수를 테스트 할 때 사용 할 수 있음
main.py
python shell
참고
https://stackoverflow.com/questions/419163/what-does-if-name-main-do