본문 바로가기
Python/Python FAQ

Python 키워드 매개변수로 사전을 함수에 전달하기, Passing a dictionary to a function as keyword parameters

by 베타코드 2023. 10. 30.
반응형

질문


파라미터에 대응하는 키-값 쌍을 가진 사전을 사용하여 파이썬에서 함수를 호출하고 싶습니다.

다음은 일부 코드입니다:

d = dict(param='test')

def f(param):
    print(param)

f(d)

이 코드는 {'param': 'test'}를 출력하지만, test만 출력되도록 하고 싶습니다.

더 많은 파라미터에 대해서도 비슷하게 작동하도록 하고 싶습니다:

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

이게 가능할까요?


답변


끝내 스스로 해결했습니다. 간단한 문제였는데 딕셔너리를 언팩하기 위해 ** 연산자를 빠뜨렸던 것이었습니다.

그래서 나의 예제는 다음과 같이 됩니다:

d = dict(p1=1, p2=2)
def f2(p1,p2):
    print(p1, p2)
f2(**d)
반응형

댓글