• 카테고리

    질문 & 답변
  • 세부 분야

    프로그래밍 언어

  • 해결 여부

    미해결

Decorator 코드들 중 Unpacking 질문입니다.

21.02.02 14:39 작성 조회수 96

0

@perf_clock

def sum_func(*numbers):

    return sum(numbers)

e1 = [1,2,3,4,5]

sum_func(e1) 의 결과가 

TypeError: unsupported operand type(s) for +: 'int' and 'list'

sum 함수와 unpacking을 찾아보았는데

*args 는 arg에 튜플형태로 저장, sum함수는 iterable을 인자로 받는것을 확인했습니다.

그러면 return sum(([1,2,3,4,5])) 이렇게 반환되는건데

이중으로 쌓여있어서 sum함수가 내부적으로 튜플을 벗겨내고 list자체를 더하게 되어서 오류가 생기는 건가요? 

이유가 궁금합니다.

항상 좋은 답변과 강의 감사합니다.

답변 1

답변을 작성해보세요.

0

오 좋은 질문입니다.

리스트 자체를 인자로 보내셨으니 그대로 받아야 합니다.

말씀하신대로 팩킹할 필요가 없죠.