*
은 괄호 안에 있는 데이터를 푸는 역할이 있다.
a = [1, 2, 3]
print(*a)
->1, 2, 3
print(a)
[1, 2, 3]
tuple또한 마찬가지.
딕셔너리 타입은 키 값들로 풀어진다.
def a(*args):
print(args)
a('a', 'b', 1)
-> ('a', 'b', 1)
def a(**kwargs):
print(kwargs)
a(a:'a', b:'b')
-> {'a':'a', 'b':'b'}
둘 다 쓰려면 args를 먼저 써야함
why?
args는 생략이 불가능함
but kwargs는 생략이 가능하기 때문에 뒤에 써야한다.