기존 색인 생성(예: mydict['val'])을 사용하여 사전 멤버를 조작하는 것은 때때로 번거로울 수 있습니다. 이 질문은 점 표기법(예: mydict.val)을 활성화하여 사전 접근성을 향상시키는 방법을 다룹니다. 또한 유사한 방식으로 중첩 사전에 액세스하기 위한 솔루션을 찾습니다.
점 표기법 액세스를 달성하는 열쇠는 내장 dict 클래스에서 상속되는 사용자 정의 클래스를 만드는 데 있습니다. __getattr__, __setattr__ 및 __delattr__ 메서드를 정의하면 속성 액세스, 설정 및 삭제 작업을 가로채서 기본 사전으로 리디렉션할 수 있습니다. 다음은 이러한 클래스의 예입니다.
class dotdict(dict): """dot.notation access to dictionary attributes""" __getattr__ = dict.get __setattr__ = dict.__setitem__ __delattr__ = dict.__delitem__
사용 방법을 보여주기 위해 샘플 사전을 만들어 보겠습니다.
mydict = {'val': 'it works'}
이제 dotdict 클래스를 사용하여 이 사전을 래핑할 수 있습니다.
mydict = dotdict(mydict)
이 변환을 통해 점 표기법을 사용하여 사전 멤버에 액세스할 수 있습니다.
mydict.val # 'it works'
또한 dotdict 인스턴스의 추가 레이어를 생성하여 이 개념을 중첩 사전으로 확장할 수 있습니다. 예를 들어 mydict 내에 중첩된 사전을 생성하고 여러 수준의 점 표기법을 통해 액세스할 수 있도록 할 수 있습니다.
nested_dict = {'val': 'nested works too'} mydict = dotdict(mydict) mydict.nested = dotdict(nested_dict)
이제 일련의 점을 사용하여 깊이 중첩된 사전의 값에 액세스할 수 있습니다.
mydict.nested.val # 'nested works too'
위 내용은 Python에서 점 표기법을 사용하여 사전 멤버에 어떻게 액세스할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!