파이썬에서
*args
와 **kwargs
는 함수에 가변 인자(몇 개가 될지 모르는 인자)를 받을 때 사용하는 문법입니다. ✅ 기본 정리
문법 | 의미 | 받는 형태 |
*args | 위치 인자를 여러 개 받을 때 사용 | 튜플(tuple)로 전달됨 |
**kwargs | 키워드 인자를 여러 개 받을 때 사용 | 딕셔너리(dict)로 전달됨 |
✅ 사용 예제
🔸 *args
예제
def add_all(*args):
print(args) # 튜플로 출력됨
return sum(args)
print(add_all(1, 2, 3)) # 결과: 6
🔸 **kwargs
예제
def print_info(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_info(name="철수", age=20)
# 출력:
# name: 철수
# age: 20
✅ *args
, **kwargs
를 같이 쓸 경우 순서
def func(fixed, *args, **kwargs):
print(fixed)
print(args)
print(kwargs)
func(1, 2, 3, name="철수", age=20)
fixed
: 고정 인자
*args
: 2, 3 (튜플)
-
**kwargs
: name=철수, age=20 (딕셔너리)
✅ 호출 시 리스트와 딕셔너리 언패킹도 가능
nums = [1, 2, 3]
options = {"sep": ", ", "end": "!\n"}
print(*nums, **options) # 결과: 1, 2, 3!
Share article