Python if __name__ == '__main__':

Happy_JG·2024년 4월 4일

Python

목록 보기
11/12

if__name__ == '__main__':은 Python 코드에서 자주 사용되는 구문 중 하나이다. 이 구문은 현재 스크립트가 직접 실행될 때 사용된다.

여기서 __name__은 Python에서 내장된 변수로, 모듈의 이름을 나타낸다. 만약 모듈이 직접 실행되는 경우, name 변수에는 'main'이라는 문자열이 할당되지만 모듈이 다른 스크립트에서 import 되는 경우, name 변수에는 모듈의 실제 이름이 할당된다.

따라서 if name == 'main':은 현재 스크립트가 직접 실행될 때 코드 블록을 실행하라는 의미를 갖는다. 따라서 주로 모듈을 테스트하거나 스크립트로 실행할 때 사용되며, 다른 모듈에서 해당 스크립트를 import 해서 사용할 때는 실행되지 않는다. 이를 통해 모듈이 스크립트로 직접 실행될 때와 import 될 때의 동작을 구분하여 제어할 수 있다.

temp1.py

test = lambda x : f'My Name is {x}.'

print(test('janggoo'))

temp1.py 스크립트 실행 결과
janggoo

temp2.py

import temp1
print(temp1.test('chiwoo'))

temp2.py 스크립트 실행 결과
janggoo
chiwoo

temp2.py에서 temp1.py를 import하여 스크립트를 실행한다면

print(test('janggoo'))

temp1.py의 해당 코드도 실행이 된다.

따라서 실행할 코드 블록을 구분하여 실행하기 위해서는

temp1.py

test = lambda x : f'My Name is {x}.'
if __name__ == '__main__':
	print(test('janggoo'))

temp2.py

import temp1
print(temp1.test('chiwoo'))

temp2.py 스크립트 실행 결과
My Name is chiwoo.
출력이 된다.

profile
hello!

0개의 댓글