본문 바로가기

파이썬

언패킹(Unpacking)

0. 들어가며

packing은 여러개의 객체를 하나로 묶는 것. 
unpacking은 여러개의 객체를 묶어 놓은 것을 풀어내는 것임.
# 패킹 : test에 한꺼번에 1,2,3을 집어넣는다
test = 1,2,3

# a,b,c 변수에 test안에 묶여있던 값들을 풀어서 집어넣는다.
a,b,c = test

#결과
print(a, b, c)
>>> 1,2,3

용어 설명

  • 매개변수(Parameter) : 함수를 정의할 때 사용되는 변수
  • 인자(Argument): 실제로 함수가 호출될 때 입력되는 변수값
  • 위치인자 : 인자와 매개변수에 위치와 일치시키는 인자, 항상 키워드 인자보다 먼저 작성해야함
  • 키워드인자 : 매개변수에 이름으로 일치시키는 인자 

1. 언패킹

1) 함수에서 언패킹할 때는 매개변수(a,b,c)가 아닌 인자(T) 앞에  붙인다.

def test(a,b,c):
    t1 = a+b
    t2 = a+c
    t3 = b+c
    return t1,t2,t3
    
# 리스트 T를 언패킹
T = [2,3]
test(1,*T)

결과값

(3, 4, 5)

2) 언패킹을 할때 남은 값들을 하나의 리스트로 묶을 수 있다.

test = 1,2,3,4,5
a,*b = test
print(a,b)

결과값

1 [2, 3, 4, 5]

3) 위치인자는 * 을 키워드 인자는*  을 붙여 사용한다.

 

test = ["Kimbebe",3]
"{} : {}살 ".format(*test)


name = "Kimbebe"
age = 3
"{name} : {age}살 ".format(**locals())

결과값은 동일

'Kimbebe : 3살 '