python을 하다보면 *args, **kwargs 들을 만나게 된다.
이것들을 확실히 정리 + 예제를 들어 설명하고자 한다.
def argsTest(a,b,c,*args):
print(args)
def kwargsTest(a,b,**kwargs):
print(kwargs)
argsTest(1,2,3,5,6,7,8,9) # 이렇게 호출하면 (5,6,7,8,9) 이 부분이 tuple로 args에 들어가게 된다.
kwargsTest(1,2,test="1",check=3) # 이렇게 호출하면 kwargs가 dictionary 형태로
정리하면, *args는 튜플 형태로, **kwargs는 dictionary 형태로 인자를 받는다.
이때 우선 순위는! positional argument >> keyword argument
def func3(func,*args,*kwargs): # 이 순서로 호출 print(kwargs)