dictionary를 키워드 인자처럼 넘기는게 가능한가요?


dictionary를 키워드 인자처럼 넘기는게 가능한가요?

소스코드

d = dict(param='test')

def f(param):
    print param

f(d)

출력 :

{'param': 'test'} 

발생하는 문제 및 실행환경

지금 제 코드는 이렇게 실행되는데 저는 그냥 test만 출력되게 만들고 싶습니다. dict를 키워드 인자처럼 받아서

d = dict(p1=1, p2=2)
def f2(p1,p2):
    print p1, p2
f2(d)

이런식으로 출력하고 싶은데 어떡하면 이렇게 만들 수 있을까요?

  • 2016년 02월 16일에 작성됨

조회수 220


1 답변


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

그러니까 dict(p1=1, p2=2)p1, p2f2(p1, p2)p1, p2의 인자로 바로 들어가게 하고 싶단 말씀이신 거죠?

그럼 함수를 call할 때 dict 앞에 **오퍼레이터를 쓰면 됩니다. 파이썬에서는 unpacking이라고 하고 자세한 사항은 Unpacking Argument List에 나와있습니다.

d = dict(p1=1, p2=2)
def f2(p1,p2):
    print p1, p2
f2(**d)
  • 2016년 02월 16일에 작성됨

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

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