Packing
- 여러 개의 값을 하나의 변수에 묶어서 담는 것
- 변수에 담긴 값들을 튜플(tuple) 형태로 묶임
packed_values=1,2,3,4,5
print(packed_values) #(1,2,3,4,5)
*
을 활용한 패킹
# *b는 남은 요소들을 리스트로 패킹하여 할당
numbers=[1,2,3,4,5]
a,*b,c=numbers
print(a) # 1
print(b) # [2,3,4]
print(c) # 5
def my_func(*objects):
print(objects) # (1,2,3,4,5)
print(type(objects)) # <class tuple'>
my_func(1,2,3,4,5)
# (1,2,3,4,5)
# <class 'tuple'>
Unpacking
- 패킹된 변수의 값을 개별적인 변수로 분리하여 할당하는 것
- 튜플이나 리스트 등의 객체의 요소들을 개별 변수에 할당
packed_values=1,2,3,4,5
a,b,c,d,e=packed_values
print(a,b,c,d,e) # 1,2,3,4,5
*
을 활용한 언패킹
# *는 리스트의 요소를 언패킹
names=['gaga','nana','didi']
print(*names) # gaga nana didi
**
을 활용한 언패킹
# **는 딕셔너리의 키-값 쌍을 함수의 키워드 인자로 언패킹
def mu_finction(x,y,z):
print(x,y,z)
my_dict={'x':1,'y':2,'z':3}
my_function(**my_dict) # 1 2 3
*
**