Python/Python 정리
[Python] 패킹(packing)과 언패킹(unpacking)
우준세
2021. 6. 26. 22:55
728x90
반응형
이번 포스팅은 파이썬을 공부하며 잘 몰랐던 기능인
언패킹에 대해 공부한 것을 정리한 것입니다.
1. 패킹(packing) 이란?
- 패킹은 앞서 *args와 **kwargs 게시물에서 정리한 것과 같이
함수에서 여러 개의 매개변수를 쓰기 위해 사용하는 것입니다.
- 정리한 링크를 달아놓겠습니다!
https://wjunsea.tistory.com/59
[Python] *args와 **kwargs 정리
이번 포스팅은 파이썬을 사용하면서 함수에서 *와 **를 이해하기 위해 작성하는 포스팅입니다. 1. *args 이해 - args는 arguments의 줄임말입니다. 함수 인자로 *args를 대표적으로 쓰지만 다르게 써도
wjunsea.tistory.com
2. 언패킹(unpacking) 이란?
- 패킹은 여러 매개변수를 하나의 매개변수로 만들어서 사용했다면
언패킹은 여러 매개변수를 포함하는 하나의 객체를 여러 개로 풀어주는 방법입니다.
- 패킹은 매개변수 앞에 * 를 사용하였다면 언패킹은 인수 앞에 * 를 사용합니다.
예시)
def sum(a,b,c):
return a+b+c
n = [1,2,3]
print("result : ", sum(*n))
결과)
- 입력을 리스트형으로 한꺼번에 매개변수로 넣었지만
* 를 앞에 넣어줌으로 언패킹이 되어 결과가 나온 것을 볼 수 있습니다.
- 언패킹을 하지 않을 시
def sum(a,b,c):
return a+b+c
n = [1,2,3]
print("result : ", sum(n))
결과)
함수의 매개변수의 개수가 맞지 않는 에러가 발생하게 됩니다.
- 언패킹은 리스트뿐만 아니라 집합 타입의 경우에 사용이 가능합니다.
def sum(a,b,c):
return a+b+c
n = [1,2,3]
s = 'abc'
s1 = {'a', 'b', 'c'}
s2 = {'패킹' : 1, '언패킹' : 2, '이해완료' : 3}
print("result : ", sum(*n))
print("result : ", sum(*s))
print("result : ", sum(*s1))
print("result : ", sum(*s2))
결과)
언패킹에 대해서 정리해 보았습니다.
다음 포스팅으로 찾아오겠습니다!
감사합니다 :)
728x90
반응형