[Python] 언패킹(unpacking) 연산자 *

happy_quokka·2024년 1월 4일
0

Python

목록 보기
2/2

언패킹(unpacking) 연산자 *는 iterable한 객체를 풀어서 개별 요소로 분리하거나 함수의 매개변수에 여러 인수를 전달하는 데에 활용된다

1. 함수의 가변인자

*를 사용하여 함수에 여러 개의 인수를 전달할 수 있다

def func(*args):
  for arg in args:
    print(arg)

func(1, 2, 3)

# 결과
# 1
# 2
# 3

2. 시퀀스 언패킹

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

3. 딕셔너리(dictionary) 언패킹

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

0개의 댓글