• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

**kwargs 관련 질문입니다.

20.10.06 13:39 작성 조회수 109

0

def kwargs_func(**kwargs):
    for v in kwargs.keys():
        print('{}'.format(v), kwargs.get(v))
    print('----------')

kwargs_func(name1 = 'Lee')
kwargs_func(name1 = 'Lee'name2 = 'Park',name3 = 'Cho')
이것이 선생님이 짜주신 코드였습니다.
def info_func(**kwargs):
    for i in kwargs.keys():
        print('{}, {}'.format(ikwargs.get(i)))
    print('----------')
이것은 제가 비슷하게 만들어본 코드입니다.
여기서 궁금한 점은 for 문에서 왜 kwargs.keys()가 와야하는지 모르겠습니다. 그냥 kwargs를 사용하면 오류가 발생합니다.
또한 print문에서 .format(i,kwargs.get(i)))로 작성하였는데, 여기서 key 값을 출력할는 것을 i 대신에 kwargs.keys(i)로 입력했는데
오류가 발생하였습니다. 제가 알기로 kwargs.keys(i)가 key값을 출력하는 것인데 왜 오류가 발생했는지 모르겠습니다.

답변 1

답변을 작성해보세요.

0

안녕하세요.

순환할 대상을 key로 가져오기 위해 keys를 iterable하게 받아 오는 코드 입니다.

레퍼런스를 꼭 찾아보세요. 

강의에서 말씀드리지만, 항상 정답은 공식 메뉴얼에 있습니다.

keys() 메소드는 파라미터를 받지 않습니다.

keys() Parameters

keys() doesn't take any parameters.

Syntax: dict.keys()

Parameters: There are no parameters.