본문 바로가기
파이썬 뿌수기

args와 kwargs

by monsangter 2022. 12. 7.

*args와 **kwargs

*args와 **kwargs라는 이름으로  굳이 사용할 필요가 없다.

*의 개수가 중요하고, 그 이후에는 사용하고 싶은 문자를 적어도 된다.

다만 args와 kwargs가 관례처럼 사용된다.

 

이 두개는 함수를 정의할때 매개변수로 사용된다.

가변갯수의 인자를 매개변수값으로 받을 수 있다.

즉 사용자들조차 얼마나 많은 인자들을 함수에 넣을지 모르는 상황에서 사용할 수 있다.

 

중요한 차이는 keyword이냐 non keyword 이냐 이다.

(kwargs는 keyword argument 이다.)

 

 

*args의 사용법

args에 값을 집어 넣으면 튜플 형태가 된다. args를 매개변수로 하는 함수에 인자를 넣어 호출시,

함수안에 args라는 튜플이 생기고, 그 안이 인자로 채워진다.

 

def test_arg(*args):
	print (args)
    

test_arg(4,5,6)

#result
(4,5,6)

 

 

**kwargs의 사용법

args가 튜플형태로 저장한다면,

kwargs는 딕셔너리 형태로 값을 저장한다. 인자를 받을때 (key = value)의 형태로 받는다.

그러면 {key:value} 의 딕셔너리 형태로 값을 저장한다.

 

def test_kwarg(**kwargs):
	print (kwargs)
    

test_kwarg(rank ="19")

#result
{'rank'='19'}

 

같이 사용?

둘이 같이 사용하게 된다면, 그 인자의 형식대로 키값이 지정돼 있냐 등을 기준으로 튜플, 딕셔너리를 각각 저장하게 된다.

 

 

 

 

참조

https://ddanggle.gitbooks.io/interpy-kr/content/ch1-args-kwargs.html

https://legitcode267.tistory.com/13

 

댓글