티스토리 뷰
반응형
지난 시간에 모듈을 작성하고 불러오는 방법에 대해 알아보았다.
이번 시간에는 << if __name__ == "__main__" >>는 어떤 의미를 갖는 코드 인지 알아보려고 한다.
지난 시간에 작성한 모듈을 아래와 같이 변경을 해보자.
1 2 3 4 5 6 7 8 9 | # mod1.py def add(a, b): return a+b def sub(a, b): return a-b print(add(1, 4)) // 추가 print(sub(4, 2)) // 추가 | cs |
모듈 파일에 print문을 추가하였다. 그리고 모듈불러오기 했던것과 똑같이 명령프롬프트를 실행하고 mod1.py를 import하는 순간
print문이 실행이 되어 출력이 되어버렸다.
1 2 3 4 5 6 7 | Naui-MacBook-Pro:pythonStudy$ ls inheritance.py mod1.py study.py Naui-MacBook-Pro:pythonStudy$ python >>> import mod1 5 2 >>> | cs |
지금 처럼 해당 모듈에는 print문이 출력이 되어야 겠지만 모듈을 불러쓸때 print문이 안나와 하는 경우는 어떻게 해야할까?
바로 오늘 알아보고자 하는 << if __name__ == "__main__" >> 를 사용하면 된다.
1 2 3 4 5 6 7 8 9 | Naui-MacBook-Pro:pythonStudy$ ls inheritance.py mod1.py study.py Naui-MacBook-Pro:pythonStudy$ python >>> import mod1 >>> | cs |
if __name__ == "__main__": 의 의미
if __name__ == "__main__"을 사용하면 C:\현재소스저장된 디렉토리>python mod1.py처럼 직접 이 파일을 실행했을 때는 __name__ == "__main__"이 참이 되어 if문 다음 문장이 수행된다. 반대로 대화형 인터프리터나 다른 파일에서 이 모듈을 불러서 사용할 때는 __name__ == "__main__"이 거짓이 되어 if문 다음 문장이 수행되지 않는다.
제 포스팅이 도움이 되셨다면
↓♡공감↓ 꾸~욱 부탁드려요^^
더 나은 포스팅에 큰 힘이 됩니다.
반응형
댓글
반응형