본문으로 바로가기

[Python]파이썬 packing과 unpacking

category Python 2019. 2. 26. 19:30

패킹(packing) 번역)포장 : 하나의 변수에 여러가지의 값을 포장하는것을 말합니다.


언패킹(unpacking) 번역)포장풀기 : 여러가지의 값을 가진 하나의 변수를 여러변수로 나누는 것을 말합니다.



패킹(packing)


간단하게 변수하나에 여러개의 값을 담는 것을 말합니다.

>>> a = 1,'가','A'
>>> print(a)
(1'가''A')
cs

변수하나에 여러가지 값을담으면 튜플로 패킹합니다.



언패킹(unpacking)


패킹된 변수안의 값을 여러개의 변수로 나누는 것입니다.


값의 수와 변수의 수가 같아야합니다.

>>> print(a)
(1'가''A')
>>> i,j,k = a
>>> print(i,j,k)
1 가 A
cs


패킹된 변수의 수와 언패킹할 변수의 수가 같지않으면 에러가납니다.

>>> i,j,k,l = a
Traceback (most recent call last):
  File "<pyshell#20>", line 1in <module>
    i,j,k,l = a
ValueError: not enough values to unpack (expected 4, got 3)
cs



패킹을 이용하여 swap을 쉽게 사용 할 수 있습니다.

>>> a = 1
>>> b = 2
>>> print(a,b)
1 2
>>> a,b = b,a
>>> print(a,b)
2 1
cs


a와 b의 값을 swap 하기위해 swap함수를 사용하거나, temp변수를 만들어 swap하는 함수를 만들어 사용해야하는데 쉽게 스왑이 가능합니다.