언패킹(Unpacking)
예를 들어 문자열의 각 문자 요소들을 여러개의 변수에 나누가 싶다면 다음과 같이 간단하게 가능합니다.
>>> a, b, c, d, e = 'Hello'
>>> a
'H'
>>> b
'e'
>>> c
'l'
>>> d
'l'
>>> e
'o'
                                                                                    
cs


만약 언패킹시에 나누어 담을 변수와 언패킹할 대상 시퀀스의 length가 다르면 다음과 같은 오류가 발생합니다.

변수보다 시퀀스의가 더 큰 경우.
변수는 네 개인데, 시퀀스의 요소는 5입니다.
>>> a, b, c, d = 'Hello'
Traceback (most recent call last):
  File "<pyshell#7>", line 1, in <module>
    a, b, c, d = 'Hello'
ValueError: too many values to unpack (expected 4)
                                                                                    
cs


시퀀스보다 변수의 개수가 더 많은 경우입니다. f 변수에는 언패킹시 들어갈 값이 없습니다.
>>> a, b, c, d, e, f = 'Hello'
Traceback (most recent call last):
  File "<pyshell#6>", line 1, in <module>
    a, b, c, d, e, f = 'Hello'
ValueError: not enough values to unpack (expected 6, got 5)
                                                                                    
cs





패킹(Packing)
언패킹과 반대로 패킹은 기존에 있던 변수 값들을 하나로 뭉치는 것 입니다. 패킹을 하는경우 패킹된 대상은(여기서는 d 변수) 튜플 타입입니다.
>>> a = [1,2]
>>> b = [3,4]
>>> c = 'Hello'
>>> d = a, b, c
>>> d
([12], [34], 'Hello')
                                                                                    
cs


블로그 이미지

도로락

IT, 프로그래밍, 컴퓨터 활용 정보 등을 위한 블로그

댓글을 달아 주세요! 질문 환영합니다!