[Python] *args, **kwargs

도갱도갱·2021년 12월 30일
0

Python

목록 보기
15/34

참고: https://brunch.co.kr/@princox/180

args, kwargs 정의

  • args는 agruments, kwargs는 keyword arguments의 줄임말이다.
  • 따라서 반드시 args나 kwargs로 작성하지 않아도 된다.

*의 용도

  • 함수의 parameter로 *args를 받는 경우가 있다.
  • 몇 개의 인자를 받을지 알수 없는 경우 *를 인자 앞에 붙여 선언하는 경우, 함수에서 튜플 형태로 받는다.
  • 0개의 인자를 받아도 비어있는 튜플 형태로 받는다.
def Marguments(*args):
    print(f"args: {args}")
    print(f"args's type: {type(args)}")
    
Marguments(1,2,3,4)

**의 용도

  • 몇 개의 인자를 받을지 모를때 사용하는 것은 동일하나, 튜플 형태가 아닌 딕셔너리 형태로 받는다.
def Mkwargs(**kwargs):
    print(f"kwargs: {kwargs}")
    print(f"kwargs's type: {type(kwargs)}")
    
Mkwargs(a = "1", b='2')

parameter의 순서

  • 일반 변수는 *args, **kwargs 보다 항상 앞에 위치해야 한다.
  • *args는 **kwargs 보다 항상 앞에 위치해야 한다.

0개의 댓글