반응형
우리가 일반적으로 python 파일을 쓰는 방식은 아래 2가지가 있다.
1. 파일을 자체 실행용으로 사용
2. 다른 파일에서 import하여 사용
예를 들어서 아래와 같은 파일이 있다고 하자.
# test.py
def add(a, b):
return a+b
if __name__ == '__main__':
print(add(10, 20))
이 파일을 1번 방식으로 실행하면 print(add(10, 20))이 실행되어 화면에 30이 출력된다. 그러나 이 파일을 2번 방식으로 import 하면 print(add(10, 20))는 실행되지 않는다.
그러나 아래 파일의 경우는 어떠할까?
# test2.py
def sub(a, b):
return a-b
print(sub(20, 10))
위의 1, 2번 방식 모두 print(sub(20, 10))이 실행되어 화면에 10이 출력된다.
여기에서 우리는 if __name__ == “__main__” 의 사용법 알 수 있다.
파일 자체 실행용으로 사용할 때는 실행되고 import 할때는 실행하지 않기를 원할때 쓰면 된다.
참고로 __name__는 내장변수로 자체 실행할 경우 "__main__"이 저장되고
import 할 경우에는 import된 모듈 이름(파일 이름)이 저장된다.
728x90
'Programming > Python' 카테고리의 다른 글
[python] map() (0) | 2023.05.26 |
---|---|
[파이썬] 파이썬 관련 주요 용어 (0) | 2022.07.24 |