강의

멘토링

로드맵

인프런 커뮤니티 질문&답변

Sumin KIM님의 프로필 이미지
Sumin KIM

작성한 질문수

남박사의 파이썬 기초부터 실전 100% 활용

모듈의 개념과 모듈 사용방법

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

작성

·

358

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__ 값 을 통해 구분할 수 있게 되는 내용이라고 보시면 될듯 합니다. 

 

Sumin KIM님의 프로필 이미지
Sumin KIM

작성한 질문수

질문하기