일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |
- Werwingtoepassing
- java
- Кори нопурра дар Корея
- နိုင်ငံခြားသား
- Spring boot
- Ҷойҳо дар Корея
- စကားစမြည်ပြောခြင်း
- Hello World
- Kotlin
- Мобиль замима
- Mobiele toepassing
- အလုပ်
- 계정삭제 요청
- အလုပ်အကိုင်
- ကိုရီးယား
- Шуғ дар Корея
- Коркабулкунӣ барои хориҷиён
- Job
- Кор барои хориҷиён
- korea
- Чои кор барои хоричиён
- Data Lake
- မြန်မာ
- Кор дар Корея
- Чати тарҷумаи худкор
- 비바버튼
- 스프링부트
- BigData
- 빅데이터
- အယ်လ်ဘာ
- Today
- Total
VivaButton
[Python] if __name__ == "__main__" 의미 본문
1. [ Python ] if __name__ == "__main__" 의미
Python 소스 코드에 보면 if __name__ == "__main__"으로 시작하는 부분을 볼 수 있습니다.
이 코드를 사용하면 작성한 스크립트 파일을 직접 실행시켰을 경우에만 참이 되어 if문
다음 문장들이 수행됩니다. 반대로 다른 파일에서 import해서 사용하는 경우에는 거짓이 되어
if문 다음 문장들이 수행되지 않습니다.
2. 테스트 환경
OS : Win10 64bit
3. 테스트
a. CodeTest.py와 CodeTest2.py 파일을 생성하고 아래 코드를 입력합니다.
b. CodeTest2.py 파일을 실행시켜 보시면 Print Fuction이 두번 출력 되는 것을 보실 수 있습니다.
분명 한번 호출 했는데 두번이 출력되는 이유는
CodeTest.py에서 사용한 print(ExecPrint()) 코드가 CodeTest2.py에서 import 하는 과정에서
실행하게 되는 것이고 함수만 사용하려고 했다면 예상하지 못한 결과값이 됩니다.
c. 이런 현상을 방지하려면 CodeTest.py 파일의 코드를 아래와 같이 변경하면 됩니다.
차이점은 if __name__ == '__main__' : 코드가 추가 된것입니다.
d. 다시 CodeTest2.py 파일을 실행시켜 보시면 호출한 함수의 결과값만 출력됩니다.
결론적으로 if __name__ == '__main__' : 코드를 사용하게 되면 import 과정에서의
불필요한 함수 호출을 막아 줄 수 있습니다.
'IT > 파이썬' 카테고리의 다른 글
[파이참] 기본 단축키 (0) | 2019.07.22 |
---|---|
[파이참] Server Certificates 오류 해결 (0) | 2019.07.22 |
[파이썬]nslookup명령어를 사용하여 url로 ip대역대 확인 (0) | 2018.08.08 |