1. Introduction
파이썬 코드를 보다보면 함수의 인수로 *, **가 있는 것을 볼 수 있다.
이것들은 이 메서드에 인수를 몇개를 보낼지 모르겠을 때 쓰는 것이다.
메서드에 일단 인수를 갖다 박으면, *는 튜플로 **는 딕셔너리의 형식으로 묶어서 전달한다.
2. Practice
def star(*a):
print(a)
def double_star(**b):
print(b)
star(1, 2, 3)
double_star(a=1, b=2, c=3)
<< (1, 2, 3)
<< {'a': 1, 'b': 2, 'c': 3}
섞어서 쓸 수도 있다.
def star_mix(*a, **b):
print(a)
print(b)
star_mix(1, 2)
print('--------------')
star_mix(a=1, b=2)
print('--------------')
star_mix(1, 2, a=1, b=2)
<< (1, 2)
<< {}
<< --------------
<< ()
<< {'a': 1, 'b': 2}
<< --------------
<< (1, 2)
<< {'a': 1, 'b': 2}