Python/포스팅

파이썬 if __name__ == "__main__": 의 의미

짜집퍼박사(짜박) 2023. 12. 3. 03:50

if __name__ == "__main__": 구문은 파이썬 스크립트가 직접 실행될 때, 즉 스크립트가 메인 프로그램으로 실행될 때 특정 코드 블록을 실행하도록 하는 조건문입니다. 이 구문을 사용하면 모듈을 임포트한 경우와 직접 실행한 경우를 구분할 수 있습니다.

파이썬 스크립트는 두 가지 방식으로 실행될 수 있습니다.

 

1. 직접 실행

스크립트가 메인 프로그램으로 실행됩니다. 이때 __name__은 "__main__"으로 설정됩니다.

 

2. 임포트

다른 스크립트에서 현재 스크립트가 모듈로 임포트되면 __name__은 해당 스크립트의 이름이 됩니다.

 

3. if __name__ == "__main__"

구문은 보통 스크립트가 직접 실행될 때만 특정한 코드 블록을 실행하고, 다른 스크립트에서 모듈로 임포트되었을 때는 실행되지 않도록 하는데 사용됩니다.

# mymodule.py

def some_function():
    print("Function in module")

if __name__ == "__main__":
    # 스크립트가 직접 실행될 때만 실행되는 코드 블록
    print("This script is being run directly.")
    some_function()
# 다른 스크립트에서 mymodule.py를 임포트

import mymodule

# 이 부분은 실행되지 않음
# 콘솔에서 직접 실행할 경우
$ python mymodule.py
This script is being run directly.
Function in module

이 구문을 사용하면 모듈이 어떻게 사용되느냐에 따라 실행되는 코드를 제어할 수 있습니다. 이를 통해 모듈을 다른 스크립트에서 임포트하거나 직접 실행할 때 서로 다른 동작을 수행하도록 할 수 있습니다.

 

With ChatGPT