Notice
Recent Posts
Recent Comments
Link
SeouliteLab
[Python/파이썬] *args와 **kwargs의 차이점 본문
'*args'와 '**kwargs'는 함수를 정의할 때 사용되는 매개변수입니다. 이 두 매개변수의 차이점을 알아보겠습니다.
'*args'
'*args'는 함수를 호출할 때 임의의 개수의 위치 인자를 받을 수 있도록 해줍니다. '*' 기호와 함께 변수 이름을 작성하여 여러 개의 위치 인자를 하나의 튜플로 묶어 함수 내부로 전달할 수 있습니다.
'**kwargs'
'**kwargs'는 함수를 호출할 때 임의의 개수의 키워드 인자를 받을 수 있도록 해줍니다. '**' 기호와 함께 변수 이름을 작성하여 여러 개의 키워드 인자를 하나의 딕셔너리로 묶어 함수 내부로 전달할 수 있습니다.
'*args'와 '**kwargs'를 함께 사용하면 임의의 개수의 위치 인자와 키워드 인자를 동시에 처리할 수 있습니다.
예제
예제 1: '*args'를 사용하여 임의의 개수의 위치 인자 처리
def sum_values(*args):
total = 0
for num in args:
total += num
return total
result = sum_values(1, 2, 3, 4, 5)
print("Sum of values:", result)
예제 2: '**kwargs'를 사용하여 임의의 개수의 키워드 인자 처리
def print_values(**kwargs):
for key, value in kwargs.items():
print(f"{key}: {value}")
print_values(name="John", age=30, city="New York")
예제 3: '*args'와 '**kwargs'를 함께 사용하여 임의의 개수의 위치 및 키워드 인자 처리
def process_data(*args, **kwargs):
print("Positional arguments:")
for arg in args:
print(arg)
print("Keyword arguments:")
for key, value in kwargs.items():
print(f"{key}: {value}")
process_data(1, 2, 3, name="John", age=30)
'프로그래밍' 카테고리의 다른 글
[Python/파이썬] 삼항 연산자 (Ternary Operator) (0) | 2024.03.05 |
---|---|
[Python/파이썬] is와 ==의 차이점 (0) | 2024.03.05 |
[Python/파이썬] 'and'와 '&'의 차이점 (0) | 2024.03.05 |
[Python/파이썬] Iterator와 Iterable의 차이점 (0) | 2024.03.05 |
[Python/파이썬] MySQL 테이블 생성, 삭제 (0) | 2024.03.05 |