Programming/Python

[python] if __name__ == “__main__”:

mle21 2023. 5. 23. 06:00
반응형

우리가 일반적으로 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