이 함수를 사용한 예시를 살펴보자.
>>> avg('inches', 11, 22, 33)
22.0 inches
일반 인수 units가 인수 리스트 *args보다 앞에 위치했기 때문에 이 함수는 유효하다.
Note ≡
별표 기호(*)는 파이썬에서 여러 가지 용도로 사용된다. 이런 맥락에서 별표 기호는 스플래트(splat) 혹은 위치 확장 연산자라고 불린다. 기본적인 사용법은 ‘언팩된 리스트(unpacked list)’다. 조금 더 구체적으로 말하자면, 별표 기호는 리스트를 분리된 항목의 간단한 나열로 교체한다.
*args와 같은 존재는 할 수 있는 일이 그리 많지 않다. 여러분이 할 수 있는 한 가지 일(4.9절에서 중요하게 다룸)은 *args를 함수에 전달하는 것이다. 예를 들면 다음과 같다.
>>> ls = [1, 2, 3] # 언팩된 리스트 >>> print(*ls) # 언팩 버전 출력하기 1 2 3 >>> print(ls) # 패킹된 버전 출력하기(일반 리스트) [1, 2, 3]
*args 혹은 *ls로 할 수 있는 또 다른 한 가지는 별표 기호를 제거하여 표준 파이썬 리스트로 패킹하는 것(혹은 재패킹하는 것)이다. 그러면 파이썬의 모든 표준 리스트-제어 기능으로 데이터를 조작할 수 있게 된다.