*args, **kwargs

단단한어린이·2023년 7월 25일
0

Python

목록 보기
3/6

args

*args : args는 함수에 임의의 개수의 위치 인자(Positional Arguments)를 전달하는 데 사용. 이 때 인자는 튜플(tuple) 형태로 저장되며, 함수내에서 args라는 변수를 사용하여 처리.
예제:

def my_function(*args):
    for arg in args:
        print(arg)

my_function(1, 2, 3, 4)

1
2
3
4


my_function 함수는 *args 매개변수를 사용해 여러 개의 위치 인자를 받아들임. 함수를 호출할 때 1, 2, 3, 4의 값들을 전달하면, 이 값들이 args라는 튜플 내에 저장되고 함수 안에서 다룰 수 있음.


kwargs

**kwargs : kwargs는 함수에 임의의 개수의 키워드 인자(Keyword Arguments)를 전달하는 데 사용. 이 때 인자는 딕셔너리(dictionary) 형태로 저장되며, 함수 내에서 kwargs라는 변수를 사용하여 처리.

def my_function(**kwargs):
    for key, value in kwargs.items():
        print(f"{key} = {value}")

my_function(a=1, b=2, c=3)

a = 1
b = 2
c = 3


위 예제에서 my_function 함수는 kwargs 매개변수를 사용해 여러 개의 키워드 인자를 받아들임. 함수를 호출할 때 a=1, b=2, c=3의 값들을 전달하면, 이 값들이 kwargs라는 딕셔너리 내에 저장되고 함수 안에서 다룰 수 있음. *args와 kwargs는 동시에 사용할 수도 있으며, 필요한 만큼 매개변수와 함께 사용할 수 있음. 다만 다음과 같은 순서를 유지해야 함.

  1. 일반 매개변수
  2. args 매개변수
  3. 키워드 매개변수 (예: param1='example')
  4. kwargs 매개변수

이처럼 *args와 **kwargs는 함수나 메서드에서 가변 인자를 처리할 때 유용한 도구로, 여러 개의 인자를 유연하게 다룰 수 있게 해줌.

profile
Footprints in Coding

0개의 댓글