티스토리 뷰
반응형
Python 에서 __name__ == '__main__' 설명과 예제
if __name__ == "__main__": 문장은 Python 파일이 직접 실행될 때와 다른 파일에서 임포트될 때의 동작을 구분하는 데 사용됩니다. 이 구문은 특정 코드 블록이 모듈로 임포트될 때는 실행되지 않고, 스크립트로 직접 실행될 때만 실행되도록 합니다.
사용 예제
설명
- __name__: Python 인터프리터는 파일을 실행할 때 각 파일에 대해 __name__이라는 특별한 변수를 설정합니다.
- 파일이 직접 실행되면 __name__의 값은 "__main__"이 됩니다.
- 파일이 다른 파일에 의해 임포트되면 __name__의 값은 파일의 이름(모듈 이름)이 됩니다.
- if __name__ == "__main__":: 이 조건문이 참일 경우, 즉 파일이 직접 실행된 경우에만 main() 함수를 호출합니다. 따라서 임포트될 때는 main() 함수가 호출되지 않습니다.
이 방식은 코드의 재사용성을 높이고, 다른 스크립트에서 이 파일의 기능을 사용할 수 있도록 해줍니다.
추가 예제 : example.py
이 스크립트를 직접 실행하면 다음과 같은 출력이 나옵니다:
반면, 이 스크립트를 다른 파이썬 파일에서 import하면 다음과 같은 출력이 나옵니다:
이 방식을 사용하면 모듈이 직접 실행될 때와 다른 스크립트에 의해 import될 때 다른 동작을 하도록 할 수 있습니다. 이는 특히 모듈을 개발할 때 유용하며, 모듈 테스트나 독립적인 스크립트 실행을 가능하게 합니다.
'Python Programming' 카테고리의 다른 글
Python의 match-case 문: (Switch-case 문) (0) | 2024.10.21 |
---|---|
Python으로 SMTP를 이용한 이메일 발송하기: 본문과 첨부파일 포함 (0) | 2024.10.21 |
Python의 __init__ 메서드와 Java의 생성자 비교 (0) | 2024.10.20 |
Python에서 문자열을 정수로 변환하는 방법 (0) | 2024.10.17 |
Python의 ThreadPoolExecutor에 대한 이해와 예제 (2) | 2024.10.17 |
댓글
반응형
공지사항
최근에 올라온 글
최근에 달린 댓글
- Total
- Today
- Yesterday
링크
TAG
- 장고
- 디스크 사용량
- 프로젝트 생성
- win7
- python message
- amaztools
- http 요청
- angular
- venv
- END key
- cmd실행
- 파이썬
- slack api
- Python
- 팀 소통
- vscode
- df 명령어
- win10
- cmd창
- 미밴드
- HOME/END
- HOME key
- python slack
- Karabiner-Elements
- webhook
- 메시지 전송
- django
- du 명령어
- channel oauth
- 미밴드4
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
글 보관함