본문 바로가기

파이썬 프로그래밍/파이썬 기초

[Python] 파이썬 packing, unpacking 정의와 예제

기본개념

Packing

하나의 변수에 여러개의 값을 넣는것입니다.



UnPacking

패킹된 변수에서 여러개의 값을 꺼내오는것입니다.




오늘은 한줄한줄 쳐보며 실습하는 것이 이해하기 쉬우므로 파워쉘(powershell)에서 실습해보겠습니다.

실습하기전 Python이 PC에 설치되어있어야 가능한 실습입니다!



실습

먼저 Windows PowerShell을 실행합니다.

실행방법은 윈도우키+R을 눌러 실행을 들어가서 powershell을 입력한 후 엔터 치면 파워쉘이 실행됩니다.



python을 입력합니다.



c = (3,4)

C라는 변수안에 여러개의 값을 넣어


c

C라는 변수안에 값이 잘 들어간 것을 확인하실 수 있습니다.



UnPacking

C안에 들어있는 3,4라는 값을 각각 d, e에 넣어 Unpacking 해보겠습니다



먼저 c에 있는 값을 d, e에 넣어줍니다.



d와 e에 차례대로 값이 들어가 있는것을 확인하실 수 있습니다.



그렇다면 c안에 있는 값은 없어질까?

정답은 아닙니다. 그대로 들어가있는 것을 확인하실 수 있습니다.



Packing

그렇다면 d(3), e(4)의 값을 한 변수에 넣으면 어떻게 될까?

정답은 된다 입니다.

f라는 변수에 d,e를 넣어주고 확인한 결과 2개가 들어간 것을 확인하실 수 있습니다.

이것을 Packing이라고 하죠



왜 굳이 Packing을 사용하는 것인가?

결론 부터 말씀드리자면 Temp를 사용하지 않아도 됩니다.

알아보기 위해 x,y에 각각 값을 넣어줍니다.



그리고는 x,y=y,x라고 입력하여 x,y의 값을 바꿔줍니다

x와 y의 값이 바뀐것을 확인하실 수 있습니다

굳이 Temp를 사용하지 않고 편리하게 사용할 수 있다는 말이죠



또한가지 실습!

이번엔 함수를 사용하여 실습해 보겠습니다.

먼저 함수를 만들어 return값으로 1,2를 넣어줍니다.



그리고는 t1, t2라는 변수에 방금만든 함수를 넣어봅니다.



놀랍게도 값이 들어가있네요?




예제1.

x=5, y=3의 값을 가지고 있고 test라는 변수에 x,y값을 packing 해보시오
1
2
3
4
5
6
= 5
= 3
 
test = x,y
 
print(test)
cs


실행

(3, 5)



예제2.

a=1,b=2라는 값을 가지고 있습니다.
a,b의 값을 서로 바꿔보십시오

1
2
3
4
5
6
7
= 1
= 2
 
a,b = b,a
 
print(a)
print(b)
cs

실행

2
1