본문 바로가기
Python/Python FAQ

Python 인자로 튜플을 확장하기, Expanding tuples into arguments

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

질문


어떤 함수가 다음과 같다고 가정해봅시다:

def myfun(a, b, c):
    return (a * 2, b + c, c + b)

튜플 some_tuple = (1, "foo", "bar")이 주어졌을 때, some_tuple을 사용하여 myfun을 호출하는 방법은 무엇인가요? 이렇게 하면 결과값 (2, "foobar", "barfoo")가 출력되어야 합니다.

저는 myfun이 튜플을 직접 받도록 정의할 수도 있지만, 기존의 myfun을 호출하고 싶습니다.


참고: 함수 호출에서 ** (두 개의 별표/별표)와 * (별표/별표)는 무엇을 의미하나요?.


답변


myfun(*some_tuple)는 정확히 요청한 대로 동작합니다. * 연산자는 단순히 튜플(또는 어떤 반복 가능한 객체)을 풀어서 함수에 위치 인수로 전달합니다. 인수 풀기에 대해 더 자세히 알아보세요.

반응형

댓글