**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으로?
  • 2016년 01월 27일에 작성됨

조회수 203


1 답변


좋아요
0
싫어요
채택취소하기

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

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

  • 2016년 01월 27일에 작성됨

로그인이 필요한 기능입니다.

Hashcode는 개발자들을 위한 무료 QnA사이트 입니다. 작성한 답변에 다른 개발자들이 댓글을 작성하거나 좋아요/싫어요를 할 수 있기 때문에 계정을 필요로 합니다.
► 로그인
► 계정만들기
Close