PHpullh
학습 라이브러리/Python/__main__ 진입점 패턴

PYTHON · Hello World

__main__ 진입점 패턴

Python 스크립트를 모듈로도, 직접 실행도 가능하게 만드는 관용구.

Hello World입문__main____name__진입점module

핵심 설명

Python 스크립트를 모듈로도, 직접 실행도 가능하게 만드는 관용구.

Python code

# calculator.py

def add(a, b):
    return a + b

def subtract(a, b):
    return a - b

# 이 파일을 직접 실행할 때만 동작
# import calculator 로 불러올 때는 건너뜀
if __name__ == "__main__":
    print(add(3, 4))       # 7
    print(subtract(10, 3)) # 7

# 실행 방법:
# python calculator.py       → if 블록 실행됨
# python -c "import calculator; print(calculator.add(1,2))"
#                            → if 블록 건너뜀

학습 팁

__name__은 현재 모듈의 이름입니다. 직접 실행 시 "__main__", import 시 모듈 이름("calculator")이 됩니다.

주의할 점

테스트 코드나 초기화 코드를 if __name__ == "__main__": 밖에 두면 import 시에도 실행되어 부작용이 생깁니다.

자주 묻는 질문

__main__ 진입점 패턴란 무엇인가요?

Python 스크립트를 모듈로도, 직접 실행도 가능하게 만드는 관용구.

__main__ 진입점 패턴 학습 시 주의할 점은 무엇인가요?

테스트 코드나 초기화 코드를 if __name__ == "__main__": 밖에 두면 import 시에도 실행되어 부작용이 생깁니다.