Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python) 네임스페이스 생성 방법 총정리

파이썬에서는 패키지, 모듈, 클래스, 함수, 메서드 각각이 고유한 "네임스페이스(namespace)"를 가지며, 변수 이름은 바로 이 네임스페이스 안에서 해석됩니다. 그리고 함수, 모듈 또는 패키지가 평가되는 시점, 즉 실행이 시작되는 순간 새로운 네임스페이스가 생성됩니다.

네임스페이스를 만드는 방법

따라서 네임스페이스를 새로 만들고 싶다면 아래 작업 중 하나만 수행하면 됩니다.

  • 함수 호출하기
  • 객체(인스턴스) 생성하기
  • 모듈 임포트(import)하기
  • 패키지 임포트하기

예제 코드

예를 들어 Namespace라는 클래스를 정의하고, 이 클래스의 객체를 생성하면 사실상 하나의 네임스페이스를 만드는 것과 같습니다. 아래 예제처럼 클래스에 키워드 인자(**kwargs)를 전달하면, 해당 변수들이 네임스페이스에 속성 형태로 연결됩니다.

class Namespace:
    def __init__(self, **kwargs):
        self.__dict__.update(kwargs)

args = Namespace(a=1, b='c')
print(args.a, args.b)

여기서 self.__dict__.update(kwargs) 부분이 핵심입니다. 객체의 내부 딕셔너리인 __dict__에 전달받은 키워드 인자들을 그대로 저장하기 때문에, 이후 args.a, args.b처럼 점(.) 표기법으로 각 값에 자유롭게 접근할 수 있습니다.

실행 결과

위 코드를 실행하면 다음과 같은 출력 결과를 얻을 수 있습니다.

1 c

이처럼 파이썬에서는 별도의 특수한 문법 없이도 클래스와 객체만으로 간단하게 독립적인 네임스페이스를 구성할 수 있으며, 이는 설정값 묶음이나 데이터 전달용 객체를 만들 때 매우 유용하게 활용됩니다.