def sum(a,b,c): return a+b+cdef ii(x,*y): return x(*y)ii(sum,1,2,3)output은 6sum함수가 ii함수의 인자로 들어가서 더하기를 한 것까진 이해가 되는데*y 가변인자의 정확한 작동 방식을 이해하지 못하겠음왜 저리 되노- dc official App
파이썬이 C로 만들어졌는데 C에서 가변인자를 입력받는 함수를 만들때 int ii(int argc, char *argv[]) 이런식으로 만들었움 파이썬도 구래서 가변인자 받을때 *y 이런식으로 받는거고 동작 방식도 C랑 비슷함 그러면 이제 C에서 가변인자 동작방식을 알아야하는데
*y에 1,2,3이 들어간다는건 너가 넣은 1,2,3값이 배열에 [1, 2, 3] 이렇게 저장된다는 의미고 파이썬에서 함수 파라미터로 *를 붙인 리스트가 들어가면 그게 함수파라미터로 차례대로 들어가게 짜여있음 그래서 함수 x의 파라미터로 들어가서 동작하는거임
대가리 박으면서 어느정도 이해 됐습니다 감사합니다 - dc App
x=sum이고 *y=1,2,3이여서 sum(1,2,3)함수가 호출된 후 6이 출력되는거네요 감사합니다 - dc App