가변 매개변수(variable-length arguments)는 함수 정의 시에 개수가 정해지지 않은 매개변수를 다룰 때 사용됩니다. 파이썬에서는 `*args`와 `**kwargs` 두 가지 형태의 가변 매개변수를 지원합니다.
1. `*args` (Positional Arguments):
- `*args`는 함수에 임의의 개수의 위치 인자를 전달할 수 있게 합니다.
- 함수 정의 시에 `*args`를 사용하면, 함수 내에서 해당 변수는 튜플로 처리됩니다.
- 예시:
```python
def example_function(*args):
for arg in args:
print(arg)
example_function(1, 2, 3, 4)
```
위의 예제에서 `*args`는 1, 2, 3, 4를 포함하는 튜플로 전달됩니다.
2. `**kwargs` (Keyword Arguments):
- `**kwargs`는 함수에 임의의 개수의 키워드 인자를 전달할 수 있게 합니다.
- 함수 정의 시에 `**kwargs`를 사용하면, 함수 내에서 해당 변수는 딕셔너리로 처리됩니다.
- 예시:
```python
def example_function(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
example_function(a=1, b=2, c=3)
```
위의 예제에서 `**kwargs`는 {'a': 1, 'b': 2, 'c': 3}을 포함하는 딕셔너리로 전달됩니다.
가변 매개변수를 함께 사용할 수도 있습니다. 예를 들어, 함수를 정의할 때 `*args`와 `**kwargs`를 함께 사용하면 어떤 형태의 인자도 다룰 수 있습니다.
```python
def example_function(*args, **kwargs):
for arg in args:
print(arg)
for key, value in kwargs.items():
print(f"{key}: {value}")
example_function(1, 2, 3, a=4, b=5)
```
이렇게 하면 위치 인자는 `*args`에, 키워드 인자는 `**kwargs`에 각각 할당되어 처리됩니다.
'혼자 공부하는 파이썬 > 기타' 카테고리의 다른 글
혼공학습단 11기 활동 회고. (0) | 2024.02.19 |
---|---|
[혼공학습단 11기] 스터디 활동과 도서별 커리큘럼 안내 (1) | 2024.01.06 |