Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬(Python)에서 * 연산자는 튜플과 함께 어떻게 작동할까?

파이썬의 별표(*) 연산자는 시퀀스나 컬렉션을 위치 인수(positional arguments)로 언패킹(unpacking)하는 역할을 합니다. 즉, 튜플에 담긴 요소들을 함수의 각 매개변수에 순서대로 전달하고 싶을 때, 일일이 인덱스로 접근하지 않고도 * 연산자 하나로 간편하게 처리할 수 있습니다.

예제 코드

def multiply(a, b):
  return a * b

values = (1, 2)
print(multiply(*values))

*values는 튜플 values를 언패킹하여 첫 번째 요소는 첫 번째 매개변수 a에, 두 번째 요소는 두 번째 매개변수 b에 자동으로 대입됩니다. 따라서 위 코드는 사실상 다음과 같이 실행됩니다.

print(multiply(1, 2))

출력 결과

실행하면 아래와 같은 결과를 얻을 수 있습니다.

2

정리

이처럼 * 연산자를 활용하면 튜플이나 리스트 같은 이터러블(iterable)의 요소들을 반복문 없이도 함수 인수로 깔끔하게 전달할 수 있어, 코드가 더 간결하고 가독성이 좋아집니다. 참고로 딕셔너리(dictionary)를 키워드 인수로 언패킹할 때는 ** 연산자를 사용한다는 점도 함께 기억해 두면 유용합니다.