Study/Python

[python]if __name__ == "__main__":

seomj 2021. 2. 2. 00:40
#mod1.py

def add(a, b): 
    return a+b

def sub(a, b): 
    return a-b

print(add(2, 4))
print(sub(6, 2))

mod1.py를 모듈화시켜 add와 sub를 사용하려고 함

 

그러나 import mod1을 수행하면 mod1.py가 실행이 되어 결괏값을 출력

-> if __name__ == "__main__"을 사용

 

※__name__

파이썬이 내부적으로 사용하는 특별한 변수 이름

직접 파일을 실행할 경우 __name__ 변수에는 __main__ 값이 저장

파이썬 셸이나 다른 파이썬 모듈에서 import 할 경우에는 __name__ 변수에는 모듈 이름 값이 저장

 

 

직접 이 파일을 실행했을 때는 __name__ == "__main__"이 참이 되어 if문 다음 문장이 수행

반대로 대화형 인터프리터나 다른 파일에서 이 모듈을 불러서 사용할 때는 __name__ == "__main__"이 거짓이 되어 if문 다음 문장이 수행되지 않음

#mod1.py

def add(a, b): 
    return a+b

def sub(a, b): 
    return a-b

if __name__ == "__main__":
    print(add(2, 4))
    print(sub(6, 2))

 

 

 

참고 : 점프 투 파이썬

'Study > Python' 카테고리의 다른 글

[python]딕셔너리 값 추출하기  (2) 2021.02.05
[python]sort와 sorted  (0) 2021.02.02
[python]함수 - 매개변수, *args, lambda  (0) 2021.01.31
[python]리스트 내포  (0) 2021.01.31
[python]if문 조건부 표현식  (0) 2021.01.31