__name__에 대해 알아보자
##python코드에서 __name__이란?
__name__
은 이 코드가 수행될때 코드가 포함된 파일에서
실행된건가 아니면 다른 파일에서 import되어서 수행되었는가에 대한
판단을 할수 있게 한다.
코드를 통해 알아보자
A.py 파일
def func():
print("function A.py")
print("top-level A.py")
if __name__ == "__main__":
print("A.py 직접 실행")
else:
print("A.py가 임포트되어 사용됨")
B.py 파일
import A as one
print(""top-level in B.py"")
one.func()
if __name__ == "__main__":
print("B.py가 직접 실행")
else:
print("B.py가 임포트되어 사용됨")
cmd를 통한 테스트
>python A.py
top-level in A.py
A.py가 직접 실행
>python B.py
top-level in A.py
A.py가 임포트되어 사용됨
top-level in B.py
function A.py
B.py가 직접 실행
해당 코드가 코드가 쓰여진 쏘스파일에서 실행되면 __name__
값은
__main__ 이 되고 다른 파일에서 import를 통하여 실행되면 코드가 적혀있는 파일이름 된다.
Comments