*args
- 함수를 사용할 때 파라미터 값을 가져온다.
def test(name, *args):
print(name)
print(args)
test('홍길동', 1, 2, 3)
# 홍길동
# (1, 2, 3) *args
**kwargs
- 함수를 사용할 때 dictionary 형태로 파라미터 값을 가져온다.
def test(name, **kwargs):
print(name)
print(kwargs)
test('홍길동', a=4, b=5, c=6)
# 홍길동
# {'a': 4, 'b': 5, 'c': 6} **kwargs
동시 사용
- 입력순서를 정확하게 해주어야 사용이 가능하다.
- 함수 작성시 아래 코드와 같이 일반 파라미터, *args, **kwargs 순서로 사용해야 한다.
- 함수 호출시 아래 코드와 같이 값을 직접 할당하는 것이 뒤로 가야한다.
(e.g. 홍길동,1,2,3 을 먼저 작성한 이후에 a=4, b=5, c=6를 입력해야 한다.)
- 어떤 입력이 들어올지 모를 때 사용할 수 있다.
def test(name, *args, **kwargs):
print(name)
print(args)
print(kwargs)
test('홍길동', 1, 2, 3, a=4, b=5, c=6)
# 홍길동
# (1, 2, 3) *args
# {'a': 4, 'b': 5, 'c': 6} **kwargs