Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
Tags
- 자료구조
- Django
- dockerfile
- 종류
- TCP
- 데이터베이스
- PYTHON
- HADOOP
- airflow
- 데이터엔지니어링
- airflow.cfg
- Go
- 데이터 웨어하우스
- 컴퓨터네트워크
- 데이터 파이프라인
- 파이썬
- linux
- sql
- 운영체제
- 가상환경
- TIL
- redshift
- 정리
- AWS
- 데이터 엔지니어링
- 컴퓨터 네트워크
- S3
- Docker
- 데브코스
- http
Archives
- Today
- Total
홍카나의 공부방
[Python] if__name__=="__main__"은 왜쓰나요? 본문
if __name__=="__main__":
# your codes here.
if __name__=="__main__"?
해당 모듈이 임포트된 경우가 아니라, 인터프리터에서 직접 실행된 경우에만 if문 이하의 코드를 돌리라는 명령이다.
파이썬 모듈을 실행할 수 있는 방법은
- 직접 실행하거나
- 다른 모듈에서 임포트하여 동작시키는 방법 2가지가 있다.
아래 코드를 살펴보자.
# main_test.py
def func():
print("function working")
if __name__ == "__main__":
print("직접 실행")
print(__name__)
else:
print("임포트되었음")
print(__name__)
아래 명령으로 인터프리터에서 위 코드를 직접 실행시키면 __name__ 변수에 __main__이 담겨 나온다.
python main_test.py
> 직접 실행
> __main__
반면 다른 모듈에서 import하여 사용하면 __name__ 변수에 main_test라는 이름이 담겨 나온다.
import main_test
main_test.func()
> 임포트되었음
> main_test
즉, __name__==__main__은 인터프리터에서 직접 실행했을 경우에만 if문 내부의 코드를 실행시킨다는 명령이 된다.
__name__은 파이썬에 내장되어 있는 특별한 글로벌 변수고, 파이썬 인터프리터가 파이썬 파일을 읽을 때 설정한다.
출처
반응형
'Programming Language > Python' 카테고리의 다른 글
.venv 파이썬 가상환경 활성화 (0) | 2023.11.16 |
---|---|
[Python] GIL(Global Interpreter Lock)이 뭘까? (0) | 2023.06.02 |
[Python] ClassMethod와 StaticMethod (0) | 2023.05.27 |
[Python] 파이썬에는 switch 문이 없다. (0) | 2023.05.20 |
[Python] list.append()와 list의 '+' operator 차이 (0) | 2023.04.16 |