Engineering Note

[Python] 파이썬의 특별한 변수 __name__ 본문

Programming Language/Python

[Python] 파이썬의 특별한 변수 __name__

Software Engineer Kim 2021. 12. 17. 21:12

__name__

: 파이썬의 기본 내장 변수로 특별한 변수

: 현재 스크립트 파일이 모듈로 사용되지 않고 실행파일로 사용되면 __name__은 __main__이 저장되고, 모듈로서 실행되면 __name__은 파일명으로 저장된다.

app.py

# app.py
print("app name",_name__)

print("hello1")

if __name__ == "__main__":
    print("hello2")

python app.py
으로 실행을 하면 app.py가 메인 스크립트로 실행이 되는 것이고 __name__변수에는 __main__이 있다.

하지만

app.py와 같은 디렉토리 위치에

아래처럼 test.py라는 파이썬 프로그램을 만들고

# test.py
import app


print("app __name__:",app.__name__)
print("test __name__",__name__)

test.py에는 위에서 만든 app.py가 모듈로서 import 되어 있다.
여기서 python test.py로 실행을하면 app.py가 실행이 되는데 이때 main으로 실행되는 것이 아니기 때문에 app.py의 __name__ 변수는 __main__이 아니고 파일명인 app이 되고 아래의 if __name__  == "__main__": 이 실행되지 않는다.

그리고 test의 에서 __name__ 변수가 __main__이 된다.

Comments