if name == 'main' 구문 정리
if name == 'main' 구문은 해당 파일이 직접 실행될 때만 특정 코드를 실행하도록 합니다.
이 구문을 사용하면 파일을 import할 때는 그 코드가 실행되지 않도록 할 수 있습니다.
name 변수
- **__name__**은 파이썬 내장 변수로, 해당 파일이 직접 실행될 때는 'main' 값을 갖고, import 될 때는 파일의 이름을 가집니다.
__name__이 'main'일 때:
Python 파일이 직접 실행되었을 때 __name__ 변수의 값은 **'main'**입니다. 그때만 if __name__ == '__main__': 아래의 코드가 실행됩니다.
파일을 직접 실행할 때만 실행되는 코드
**if __name__ == '__main__':**를 사용하면 해당 파일을 직접 실행할 때만 코드를 실행하고, 다른 파일에서 import했을 때는 실행되지 않도록 방지할 수 있습니다.
예시:
app.py (Flask 예시)
# app.py
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello():
return "Hello, World!"
# 이 코드가 실행되면 Flask 서버가 시작됩니다.
if __name__ == "__main__": # 이 구문을 사용하면 app.run()은 app.py가 직접 실행될 때만 실행됩니다.
app.run(debug=True)
- app.py 파일을 직접 실행(python app.py)하면, **app.run()**이 실행되고 Flask 서버가 실행됩니다.
- 그러나 다른 파일에서 import app을 하면 Flask 서버는 실행되지 않습니다.
app1.py (다른 파일에서 import)
# app1.py
import app # app.py를 import
print("This is app1.py, and Flask server should not run.")
- app1.py에서 import app을 하면 app.run()은 실행되지 않고, This is app1.py, and Flask server should not run.만 출력됩니다.
결론
if name == 'main': 구문은 해당 파일이 직접 실행될 때만 특정 코드 (예: app.run())를 실행하게 하고, 다른 파일에서 import할 경우에는 그 코드가 실행되지 않도록 합니다.
이점
- 이 구문을 사용하면 코드의 재사용성과 모듈화가 가능해집니다. 직접 실행할 때만 실행되는 코드를 작성할 수 있습니다.
요약
if __name__ == '__main__': 구문을 사용하면 해당 파일을 직접 실행할 때만 코드가 실행되고, 다른 파일에서 import될 때는 그 코드가 실행되지 않습니다.
이 구문을 활용하면, 실행 환경에 따라 다른 코드 흐름을 설정할 수 있습니다. 😊
'기술블로그-Flask편' 카테고리의 다른 글
✅ 추천 JSON Beautifier 크롬 확장 프로그램 (0) | 2025.04.18 |
---|---|
📌 Wappalyzer: 웹 기술 스택 분석 확장 프로그램 (0) | 2025.04.17 |
Flask 라우팅 실습 오류수정(1-1) (0) | 2025.04.17 |
Flask 라우팅 실습(1) (0) | 2025.04.17 |
Tab Nine이란? VS코드용 자동완성도구 (0) | 2025.04.17 |