본문 바로가기
Python/Python FAQ

Python 사전의 멤버에 접근하기 위해 점(.)을 사용하는 방법은 어떻게 되나요?, How to use a dot "." to access members of dictionary?

by 베타코드 2023. 11. 11.
반응형

질문


파이썬 딕셔너리의 멤버에 점 "."을 통해 접근하는 방법은 무엇인가요?

예를 들어, mydict['val'] 대신에 mydict.val로 작성하고 싶습니다.

또한, 이러한 방식으로 중첩된 딕셔너리에 접근하고 싶습니다. 예를 들어

mydict.mydict2.val 

는 다음을 가리킬 것입니다.

mydict = { 'mydict2': { 'val': ... } }

답변


항상 이를 유틸 파일에 보관해왔습니다. 여러분은 자신의 클래스에도 mixin으로 사용할 수 있습니다.

class dotdict(dict):
    """dictionary 속성에 대한 점 표기법 접근"""
    __getattr__ = dict.get
    __setattr__ = dict.__setitem__
    __delattr__ = dict.__delitem__

mydict = {'val':'작동합니다'}
nested_dict = {'val':'중첩된 것도 작동합니다'}
mydict = dotdict(mydict)
mydict.val
# '작동합니다'

mydict.nested = dotdict(nested_dict)
mydict.nested.val
# '중첩된 것도 작동합니다'
반응형

댓글