본문 바로가기
ETC

[python] 가변 매개변수(Arrbitary Argument) 란?

by dkswnkk 2021. 11. 9.

매개 변수의 개수를 지정하지 않고 전달하는 방법을 가변 매개변수(Arrbitary Argument) 라고 한다.

매개 변수의 수가 상황에 따라서 변하는데

  • *args : Positional argument(매개변수)로 tuple로 반환
  • **kwargs : keyword argument(매개변수)로 dictionaty로 반환{'key':value}

아래의 예시를 살펴보자

*args 예시 1

def function(*args):
print(args)
if __name__ == "__main__":
function(1, 'a', 'bcd')
[출력결과]
(1, 'a', 'bcd')

 

*args 예시 2

def function(*args):
for i,v in enumerate(args):
print(i, v)
if __name__ == "__main__":
function(1, 'a', 'bcd')
[출력결과]
0 1
1 abc2 bcd

enumerate는 순서가 있는 자료형(리스트, 튜플, 문자열)을 입력으로 받아 인덱스 값을 포함하는 enumerate 객체를 돌려준다. index와 value를 함께 출력하고 싶을 때 주로 사용한다.

 

**kwargs 예시 1

def function(**kwargs):
for k,v in kwargs.items():
print(k,v)
if __name__ == "__main__":
function(n1 = 1, n2 = 2, n3 = 3)
[출력결과]
n1 1
n2 2
n3 3

items 함수는 Key와 Value의 쌍을 튜플로 묶은 값을 dict_items 객체로 돌려준다.


GitHub

LinkedIn

GitHub

LinkedIn