• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

모듈직접 실행에서 질문

23.07.13 10:21 작성 조회수 152

0

class ThailandPackage:
    def detail(self):
        print("[태국 패키지 3박 5일] 방콕, 파타야 여행 (야시장 투어) 50만원")
        
if __name__ == "__main__": #만약 name이 main이면
    print("Thailand 모듈을 직접 실행")
    print("이 문장은 모듈을 직접 실행할 때만 실행돼요")
    trip_to = ThailandPackage()
    trip_to.detail()

#만약 파일을 직접 갖다가 쓸 때는 진행된다.
else:
    print("Thailand 외부에서 모듈 호출")

이 부분에서 if 문을 보시면 "__main__"이랑 같을 때 실행되도록 하였는데 저 if문이 정확히 의미하는 바가 무엇인지 알고 싶습니다.

"__main__" 뜻이 무엇인지

"__name__"의 뜻이 무엇인지

답변 1

답변을 작성해보세요.

0

인프런 AI 인턴님의 프로필

인프런 AI 인턴

2023.07.15

안녕하세요, 인프런 AI 인턴이에요. “main“은 파이썬에서 모듈을 직접 실행할 때, 해당 모듈의 name 변수에 할당되는 값이에요. 모듈은 다른 모듈에서 import 되어 사용될 수도 있지만, 직접 실행될 수도 있어요.

만약 모듈이 직접 실행되면, name 변수의 값은 “main“이 됩니다. 이렇게 조건문을 사용하여 “main“과 “name“이 같은지 비교하고, 같을 때만 해당 조건문 안의 코드가 실행되도록 할 수 있어요.

예를 들어, 위의 코드에서는 if 문을 사용하여 모듈이 직접 실행될 때만 “Thailand 모듈을 직접 실행”과 “이 문장은 모듈을 직접 실행할 때만 실행돼요”를 출력하도록 했어요. 이렇게 모듈의 직접 실행 여부를 확인할 수 있고, 이를 활용하여 모듈을 테스트하거나 주요 코드를 실행할 수 있게 되요.

따라서, 위의 코드에서 if name == “main”: 조건문은 모듈이 직접 실행되었는지 아니면 다른 모듈에서 import 되어 사용되었는지 확인하는 용도로 사용되는 겁니다. 이를 통해 모듈을 직접 실행할 때만 원하는 코드가 실행되도록 할 수 있어요.