본문 바로가기

Programming/Python

파이썬 변수 앞 * 연산자

리스트나 튜플 앞에 오는 * 연산자 - 언패킹(Unpacking) 연산자

리스트나 튜플과 같이 여러개의 값이 존재하는 변수의 이름 앞에 *이 오는 경우가 있다.

 

이 *은 언패킹(unpacking) 연산자라고 하는데, 각각의 요소를 분리해준다.

 

대표적으로 함수에서 파라미터를 전달할때 사용할 수 있다.

 

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

a = [1, 2, 3]
plus(*a)

 

 

딕셔너리의 언패킹 연산자 : **

딕셔너리의 경우 ** 연산자가 언패킹 연산자이다.

 

함수 정의에서 인수 앞 * 연산자

인수의 개수를 지정하지 않고, 여러개의 인수를 가질 수 있는 가변 인수를 정의할때 사용된다.

def my_sum(*args):
	res = 0
	for i in args:
    	res += i
    return res

 

함수 정의에서 인수 앞 ** 연산자

 키워드 가변인수를 정의할 때 사용된다.

def print_name(**kwargs):
	for kword, arg in kwargs.items():
    	print(kword, ":", arg)
        
print_name(name="lee")