기본 패턴
python
def main():
print("run script")
if __name__ == "__main__":
main()설명
- Python 파일은 다른 파일에서 import 될 수도 있고, 직접 실행될 수도 있습니다.
__name__ == "__main__"조건은 "이 파일이 직접 실행될 때만" 특정 코드를 실행하게 만듭니다.- 테스트 코드, 데모 실행, CLI 시작점 같은 로직을 함수 정의와 분리하는 데 유용합니다.
- 모듈 재사용성과 스크립트 실행 편의성을 함께 유지하는 기본 패턴입니다.
짧은 예제
python
def add(a, b):
return a + b
if __name__ == "__main__":
print(add(2, 3))빠른 정리
| 상황 | __name__ 값 |
|---|---|
| 파일 직접 실행 | "__main__" |
| 다른 모듈에서 import | 모듈 이름 |
| main guard | 직접 실행 코드만 분리 |
공식 참고: main — Top-level code environment, Modules
주의할 점
함수 정의와 실행 코드를 섞어 두면 import 시 의도치 않은 출력이나 부작용이 생길 수 있습니다. 재사용 가능한 파일일수록 main guard를 두는 편이 좋습니다.