`__name__`은 Python의 특별한 내장 변수(Built-in Variable)로서, 모듈의 이름을 나타냅니다.
이 변수는 해당 모듈이 직접 실행되는지(import 되는지)를 확인하는 데 사용됩니다.
파이썬 코드를 모듈화하여 재사용하려면 코드를 모듈 파일로 작성하고, 이를 다른 스크립트에서 import하여 사용할 수 있습니다. 그러나 때로는 해당 모듈이 직접 실행되었을 때와 import되었을 때 다른 동작을 해야할 수 있습니다. 이때 `__name__`을 사용하면 모듈의 동작을 구분할 수 있습니다.
`__name__` 변수의 값은 두 가지 경우에 따라 달라집니다:
1. **직접 실행되었을 때:** 모듈이 직접 실행되었을 때, `__name__` 변수의 값은 `"__main__"`이 됩니다. 이는 현재 실행 중인 스크립트가 메인 스크립트라는 의미입니다.
2. **import되었을 때:** 모듈이 다른 스크립트에서 import되어 사용될 때, `__name__` 변수의 값은 모듈의 이름이 됩니다.
예를 들어, 다음과 같이 `mymodule.py`라는 모듈 파일이 있다고 가정해봅시다:
# mymodule.py
def some_function():
print("Hello from mymodule!")
print("__name__ value:", __name__)
if __name__ == "__main__":
print("This module is running as the main script.")
이 모듈 파일을 다음과 같이 직접 실행하면:
$ python mymodule.py
출력 결과는 다음과 같습니다:
__name__ value: __main__
This module is running as the main script.
하지만 이 모듈을 다른 스크립트에서 import하면:
# main_script.py
import mymodule
print("__name__ value in main_script:", __name__)
`main_script.py`를 실행하면:
__name__ value: mymodule
__name__ value in main_script: __main__
위와 같이 `__name__` 변수를 사용하여 모듈이 직접 실행되었는지(import되었는지)를 확인하여 필요한 동작을 수행할 수 있습니다. 이를 활용하면 모듈을 더 유연하게 사용할 수 있습니다.
'백엔드 프레임워크 & 언어 > Python' 카테고리의 다른 글
Python의 "__del__" 소멸자 (0) | 2023.07.24 |
---|---|
Python의 "__init__" 생선자 (0) | 2023.07.24 |
Python에서 __init__.py 파일의 역할 (0) | 2023.07.24 |
Python Class 만들기 (0) | 2023.07.24 |
Python-Mysql과 연동하여 Pandas DataFrame으로 변환 (0) | 2023.07.24 |