[Python] args와 kwargs

KangHo Lee's avatar
May 29, 2025
[Python]  args와 kwargs
파이썬에서 *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

devleekangho