• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

4:41 부분이 잘 이해가 되지 않아요ㅠㅠ

21.12.23 10:00 작성 조회수 222

1

- 학습 관련 질문을 남겨주세요. 상세히 작성하면 더 좋아요!
- 먼저 유사한 질문이 있었는지 검색해보세요.
- 서로 예의를 지키며 존중하는 문화를 만들어가요.
- 잠깐! 인프런 서비스 운영 관련 문의는 1:1 문의하기를 이용해주세요.
 
if__name__=="__main__"라는 부분이 이해가 잘 되지 않습니다. 그러니까 module에서 실행을 시키면 해당 if문이 참이라서 해당 아래 항목이 실행이 되지만 test에서는 해당 if__name=="__main__"포함 아래 항목은 실행이 되지 않는다. 라고 생각하면 되나요??

답변 1

답변을 작성해보세요.

0

# a.py
print(f"나는 a.py 입니다. {__name__}")

 

# b.py
import a

print(f"나는 b.py 입니다. {__name__}")

 

예를 들어 위의 코드처럼 a.py 와 b.py 파일이 있다고 가정해보겠습니다.

a.py 파일안에 print(__name__) 을 작성해서 a.py 를 실행하면

위 그림처럼 __name__ 값은 __main__ 이 됩니다.

b.py 파일을 만들어서 import a 를 하고 마찬가지로 print(__name__) 을 출력하는 내용을 작성해서 b.py 를 실행해보면 

위의 이미지에서 처럼 결과가 나옵니다.

그래서 if __name__ == "__main__" 의 의미는 현재 파일이 직접 실행이 된건지 아니면 다른 파일에서 import 되어 실행이 된건지를 __name__ 값 을 통해 구분할 수 있게 되는 내용이라고 보시면 될듯 합니다.