unpacking

이현진·2023년 3월 7일
0

알고리즘

목록 보기
4/9
post-thumbnail

unpacking은 여러 개의 객체를 포함하고 있는 하나의 객체를 풀어주는 연산이다.

함수의 인자 앞에 asterisk(*)를 붙여주게 되면 함수는 객체 내의 인자를 각각 받게 된다.

def my_sum(a, b, c):
	return a + b + c

arr = [1, 2, 3]

print(*arr)
# 1 2 3

print(my_sum(arr))
# error

print(my_sum(*arr)
# 6

다만 인자 내의 객체수가 함수의 매개변수 수와 다르다면 오류가 난다.

print(my_sum([1, 2, 3, 4])
# TypeError

list 말고도 tuple, set, dict도 가능하다. 단, setdict는 순서를 보장하지 못한다.

**를 사용하면, dict의 key-value 값도 unpacking할 수 있다.

def print_name(name, age):
    print(f'이름은 {name}, 나이는 {age}입니다.')

profile = {'name': '철수', 'age': 7}

print_name(**profile)
profile
세상의 모든 지식을 담을 때까지

0개의 댓글