if name == 'main' 구문 정리

2025. 4. 17. 16:10·기술블로그-Flask편

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
'기술블로그-Flask편' 카테고리의 다른 글
  • 📌 Wappalyzer: 웹 기술 스택 분석 확장 프로그램
  • Flask 라우팅 실습 오류수정(1-1)
  • Flask 라우팅 실습(1)
  • Tab Nine이란? VS코드용 자동완성도구
Chansman
Chansman
안녕하세요! 코딩을 시작한 지 얼마 되지 않은 초보 개발자 찬스맨입니다. 이 블로그는 제 학습 기록을 남기고, 다양한 코딩 실습을 통해 성장하는 과정을 공유하려고 합니다. 초보자의 눈높이에 맞춘 실습과 팁, 그리고 개발하면서 겪은 어려움과 해결 과정을 솔직하게 풀어내려 합니다. 함께 성장하는 개발자 커뮤니티가 되기를 바랍니다.
  • Chansman
    찬스맨의 프로그래밍 스토리
    Chansman
  • 전체
    오늘
    어제
    • 분류 전체보기 (657) N
      • Python (32)
      • 프로젝트 (43)
      • 과제 (25)
      • Database (40)
      • 멘토링 (11) N
      • 특강 (34)
      • 기술블로그 (36) N
      • 기술블로그-Fastapi편 (20) N
      • 기술블로그-Django편 (152) N
      • 기술블로그-Flask편 (35)
      • AI 분석 (4)
      • HTML & CSS (31)
      • JavaScript (17)
      • AWS_Cloud (21)
      • 웹스크래핑과 데이터 수집 (14)
      • Flask (42)
      • Django (72)
      • Fastapi (1) N
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.3
Chansman
if name == 'main' 구문 정리
상단으로

티스토리툴바