지난 번, unpacking
에 대해 정리한 적이 있다. 이번엔 그 반대 개념인 packing
과 비교해보려한다.
https://velog.io/@hjnee1102/unpacking
packing
은 함수가 인자로 받은 여러 개의 값을 하나의 객체로 합쳐서 받을 수 있도록 한다.*
을 매개변수 앞에 붙여 사용할 수 있다.
packing
을 이용해 받은 인자는 하나의 튜플로 관리된다.
def func(*args):
print(args)
print(type(args))
print(sum(args))
func(1, 2, 3)
>>> (1, 2, 3)
>>> <class 'tuple'>
>>> 6
정리하자면, 개념상 차이점은 packing
은 여러 개의 값을 하나로 합치는 것, unpacking
은 하나의 객체를 풀어 그 안의 여러 값을 사용하는 것이다. 사용법의 차이점은 함수 선언부 매개변수에 *
가 사용된다면 packing
, 함수의 호출 시 인자에 *
가 사용되는 것은 unpacking
이라는 것이다.