반응형
파이썬에서 *args
와 **kwargs
는 함수에서 가변 개수의 인자를 다룰 때 사용됩니다. 각각은 다음과 같은 목적으로 사용됩니다:
*args
*args
는 "arguments"의 약어로, 함수에 가변 개수의 위치 인자를 전달하는 데 사용됩니다.*args
는 튜플로 처리되며, 함수 내에서 이 튜플을 통해 전달된 모든 위치 인자에 접근할 수 있습니다.- 이 기능은 함수에 몇 개의 인자가 전달될지 미리 알 수 없을 때 유용합니다.
def sum_numbers(*args):
return sum(args)
print(sum_numbers(1, 2, 3)) # 결과: 6
**kwargs
**kwargs
는 "keyword arguments"의 약어로, 함수에 가변 개수의 키워드 인자를 전달하는 데 사용됩니다.**kwargs
는 딕셔너리로 처리되며, 함수 내에서 이 딕셔너리를 통해 전달된 모든 키워드 인자에 접근할 수 있습니다.- 이 기능은 인자의 이름과 함께 값을 전달하고 싶을 때, 특히 함수의 인자가 동적으로 변할 때 유용합니다.
def greet(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
greet(name="Alice", age=25) # 출력: name: Alice, age: 25
결합 사용
*args
와 **kwargs
는 함께 사용될 수 있으며, 이 경우 *args
가 위치 인자를, **kwargs
가 키워드 인자를 처리합니다. 이들은 반드시 이 순서대로 사용되어야 합니다.
def func(*args, **kwargs):
print("args:", args)
print("kwargs:", kwargs)
func(1, 2, name="Alice", age=25)
# 출력: args: (1, 2)
# kwargs: {'name': 'Alice', 'age': 25}
이러한 기능들은 파이썬 함수가 다양한 상황과 요구 사항에 유연하게 대응할 수 있도록 도와줍니다.
반응형
'🖥️ IT, 컴퓨터 > 🐍 Python' 카테고리의 다른 글
[Python] 파이썬에서 list를 정렬하기 :: sorted(), list.sort() (0) | 2024.01.17 |
---|---|
[Python] 주피터 노트북 코딩 글꼴 바꾸기 (0) | 2024.01.17 |
[Python] 주피터 노트북 out of memory 오류 해결 방법 (0) | 2024.01.17 |
[Python] 재귀함수(Recursion) (0) | 2024.01.17 |
[Python] 문자를 특정 단어로 나누는 경우 : split 함수 (0) | 2024.01.16 |
댓글