**kwargs에서 값을 뽑아내려면?

**kwargs에서 특정 값을 뽑아내려면 어떻게 해야 되나요? kwargs가 dict형인건 아는데, 접근할 때 dict처럼 접근해야 할지 get()함수를 써야 할지 잘 모르겠습니다

사람들은 쓰고 싶은대로 쓰는 것 같던데 dict처럼 접근하면 default설정이 불가능하니까 get()을 써야 하지 않나요?

class ExampleClass:
    def __init__(self, **kwargs):
        self.val = kwargs['val'] #dict처럼?
        self.val2 = kwargs.get('val2') #get으로?

1답변

  • 좋아요

    0

    싫어요
    채택취소하기

    kwargs에서 초기값을 설정할 때는 get()을 써야 합니다. self.val2 = kwargs.get('val2',"default value") 같이 쓸 때만 인자로 val2가 들어오지 않아도 에러가 발생하지 않습니다

    그런데 초기값을 설정할 거면 kwargs로 받을게 아니라 def __init__(self, val2="default value", **kwargs): 같이 빼서 써도 되기 때문에 굳이 get을 고집할 이유는 없습니다.

ᕕ( ᐛ )ᕗ
로그인이 필요합니다

작성한 답변에 다른 개발자들이 댓글을 작성하거나 댓글에 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.