if name == "main": 아래 위치한 명령어들은 해당 파이썬 스크립트를 '직접 실행한 경우'에만 실행되고, '직접 실행하지 않은 경우(모듈을 import한 뒤 실행)'엔 실행되지 않는다.
(1)스크립트에서 직접 실행하는 경우와 (2)모듈을 import한 뒤 실행하는 경우를 구분하기 위해 사용
조건문 if name == "main" 안에는 스크립트를 직접 실행했을 때 실행되길 원하는 명령어 작성
# meet.py
def introduce(a):
return '안녕 내 이름은 {}'.format(a)
print(introduce('가나다'))
출력값
- 안녕 내 이름은 가나다
# Untitled.py
import meet
print(meet.introduce('마바사'))
출력값
- 안녕 내 이름은 가나다
- 안녕 내 이름은 마바사
# meet1.py
def introduce(a):
return '안녕 내 이름은 {}'.format(a)
if __name__ == "__main__":
print(introduce('가나다'))
출력값
- 안녕 내 이름은 가나다
# Untitled.py
import meet1
print(meet1.introduce('마바사'))
출력값
- 안녕 내 이름은 마바사
결론: if name == "main": 구문은 스크립트 파일이 직접 실행될 때만 해당 코드 블록이 실행됨, 모듈을 import한 뒤 실행하는 경우엔 실행되지 않음