반응형
if name == "main" 의 의미
- 파이썬의 __name__ 변수는 파이썬 내부적으로 사용하는 특별한 변수 이름으로, 'mod1.py'의 직접 파이썬 파일을 실행할 때는 __name__ 변수에 __main__ 값이 저장되고 'mod1'의 모듈만 import 할 경우에는 __name__ 변수에 모듈 이름이 저장됨
- 만약 위의 문구를 넣지 않으면, 'import 모듈이름' 문구를 수행하는 순간 모든 모듈이 실행되어 결과값을 출력한다.
- 해당 문구가 참이면(직접 이 파일을 실행시켰을 때) if문 수행되고, 해당 문구가 거짓이면(다른 파일에서 모듈 사용시) if문 수행되지 않음
>>> import mod1
>>> mod1.__name__
'mod1'
# mod1.py
def add(a, b):
return a+b
def sub(a, b):
return a-b
if __name__ == "__main__": # 직접 이 파일을 실행시켰을 때는
print(add(1, 4)) # 참이므로 if문 문장 수행
print(sub(4, 2)) # 반대로 다른 파일에서 모듈 사용시
# 거짓이므로 if문 문장 수행되지 않음
반응형
'Data > Python' 카테고리의 다른 글
[Python] 파이썬 오류 예외 처리 - try, except, finally (0) | 2023.06.17 |
---|---|
[Python] 파이썬 패키지 - import/__init__.py 및 경로로 불러오기 (0) | 2023.06.17 |
[Python] 파이썬 모듈 - 정의, 생성 및 불러오기 (0) | 2023.06.17 |
[Python] 파이썬 객체 정보 은닉 - Public, Private, Protected (0) | 2023.06.17 |
[Python] 파이썬 클래스 - 상속과 오버라이딩, super (0) | 2023.06.17 |