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

조회수 1826회

**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을 고집할 이유는 없습니다.

답변을 하려면 로그인이 필요합니다.

Hashcode는 개발자들을 위한 무료 QnA 사이트입니다. 계정을 생성하셔야만 답변을 작성하실 수 있습니다.

(ಠ_ಠ)
(ಠ‿ಠ)

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

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 계정을 생성하셔야만 글을 작성하실 수 있습니다.