공부를 하다가 *args , **kwargs를 보았다.
어떤 역할을 하는지 알아봐야겠다.
*와 **뒤에는 꼭 args와 kwargs를 쓰지 않아도 된다고 한다.
일반적인 함수는 정의문에 필요한 인수의 개수가 명시되어 있고,
호출할 때 이 개수에 맞게 실인수를 넘겨야 한다.
이에 비해 가변 인수는 임의 개수의 인수를 받는다.
def sum(a, b):
return a + b
sum(1, 2) # 3
t = (2, 3)
sum(t) # error
sum 함수는 매개변수 a,b 두개를 받기로 정의되어 있는데 t 하나만 전달하면 error 발생
sum(*t)
t 인수
로 여러 개의 실인수를 한꺼번에 전달받는다.
출처
https://www.youtube.com/watch?v=c2AN1-6-NXk
[한빛미디어] 파이썬 정복 저자 김상형