인프런 영문 브랜드 로고
인프런 영문 브랜드 로고

인프런 커뮤니티 질문&답변

kks99502님의 프로필 이미지
kks99502

작성한 질문수

우리를 위한 프로그래밍 : 파이썬 중급 (Inflearn Original)

일급함수 - 데코레이터(4-1)

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

작성

·

160

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

좋은사람님의 프로필 이미지
좋은사람
지식공유자

오 좋은 질문입니다.

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

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

kks99502님의 프로필 이미지
kks99502

작성한 질문수

질문하기