#1 네임스페이스
네임스페이스는 변수, 함수, 클래스 등 여러가지 이름이 들어있는 공간이다. 네임 스페이스에 있는 이름들은 dir()
을 통해 확인할 수 있다.
# Global scope에서 dir() 실행
dir()
dir()은 네임스페이스에 들어 있는 이름들의 리스트를 반환한다.
#2 모듈의 이름을 확인하는 법
__name__
을 출력하면 모듈의 이름을 확인할 수 있다. 별개의 모듈이 없는 경우에는 __main__
이 출력된다.
import numpy as np
print(np.__name__) # numpy
import json
print(json.__name__) # json
print(__name__) # __main__
__main__
은 스크립트가 써진 영역 그 자체이다. 프로그램이 실행되기 위해서는 운영체제가 시작점을 찾아야하는데 main이 시작점이다.
def main():
# 하고 싶은 일들
print("I am", __name__)
if __name__ == "__main__":
main()
#3 객체는 네임스페이스
파이썬에서 객체는 네임스페이스다.
class MyClass:
def __init__(self):
self.my_variable = "Hello"
def my_method(self):
pass
i = MyClass()
print(i.my_variable)
i.my_method()
dir(i) # 객체 i도 네임스페이스 -> i에 있는 이름들을 리스트 형태로 반환
dir()
을 통해 객체의 네임스페이스를 확인하면 객체의 속성들이 있다는 것을 확인할 수 있다.