패스잇
백엔드 개발 · 기초

Python의 *args와 **kwargs의 차이점과 사용법을 설명해주세요.

힌트 · 가변 위치 인자와 가변 키워드 인자의 패킹/언패킹을 설명해보세요.

가변인자*args**kwargs튜플딕셔너리

모범답안

*args**kwargs는 Python에서 가변 인자를 처리하는 데 사용됩니다.

*args는 임의의 개수의 위치 인자를 함수에 전달할 때 사용합니다. 함수 내에서 args는 튜플로 묶여 처리됩니다. 예를 들어, def my_func(*args): 와 같이 정의하면, my_func(1, 2, 3)을 호출했을 때 args(1, 2, 3)이 됩니다.

**kwargs는 임의의 개수의 키워드 인자를 함수에 전달할 때 사용합니다. 함수 내에서 kwargs는 딕셔너리로 묶여 처리됩니다. 예를 들어, def my_func(**kwargs): 와 같이 정의하면, my_func(a=1, b=2)를 호출했을 때 kwargs{'a': 1, 'b': 2}가 됩니다.

이 두 가지를 사용하면 함수의 인자 개수에 제한 없이 유연하게 함수를 정의할 수 있습니다.

읽었다면, 이제 직접 답해볼 차례예요

패스잇 앱에서 이 질문에 말로 답하면 AI가 꼬리질문까지 이어가며 1:1 코칭합니다.

함께 보는 Python 면접 질문

← Python 면접 질문 전체 보기