언패킹(unpacking) 연산자 *
는 iterable한 객체를 풀어서 개별 요소로 분리하거나 함수의 매개변수에 여러 인수를 전달하는 데에 활용된다
*
를 사용하여 함수에 여러 개의 인수를 전달할 수 있다
def func(*args):
for arg in args:
print(arg)
func(1, 2, 3)
# 결과
# 1
# 2
# 3
list, tuple 등의 시퀀스를 언패킹하여 요소를 개별적인 값으로 추출할 때 사용된다
#활용 1
my_list = [1, 2, 3, 4, 5]
a, *rest, c = my_list
print(rest) # 결과 : [2, 3, 4]
#활용 2
def func(a, b, c):
print(a, b, c)
my_list2 = [1, 2, 3]
func(*my_list2) #결과 : 1 2 3
dictionary의 key-value 쌍을 언패킹하여 dictionary에 있는 요소들을 추출할 때 사용된다. 이때는 **
를 사용해야한다
def func(a, b, c):
print(a, b, c)
my_dict = {'a' : 1, 'b' : 2, 'c' : 3}
func(**my_dict) #결과 : 1 2 3