티스토리 뷰

Python

[Python] *args, **kwargs 사용법

minimin2 2021. 12. 6. 18:10
반응형

*args

  • 함수를 사용할 때 파라미터 값을 가져온다.
def test(name, *args):
    print(name)
    print(args)

test('홍길동', 1, 2, 3)
# 홍길동
# (1, 2, 3)                  *args

**kwargs

  • 함수를 사용할 때 dictionary 형태로 파라미터 값을 가져온다.
def test(name, **kwargs):
    print(name)
    print(kwargs)

test('홍길동', a=4, b=5, c=6)
# 홍길동
# {'a': 4, 'b': 5, 'c': 6}   **kwargs

동시 사용

  • 입력순서를 정확하게 해주어야 사용이 가능하다.
  • 함수 작성시 아래 코드와 같이 일반 파라미터, *args, **kwargs 순서로 사용해야 한다.
  • 함수 호출시 아래 코드와 같이 값을 직접 할당하는 것이 뒤로 가야한다.

    (e.g. 홍길동,1,2,3 을 먼저 작성한 이후에 a=4, b=5, c=6를 입력해야 한다.)

  • 어떤 입력이 들어올지 모를 때 사용할 수 있다.
def test(name, *args, **kwargs):
    print(name)
    print(args)
    print(kwargs)

test('홍길동', 1, 2, 3, a=4, b=5, c=6)
# 홍길동
# (1, 2, 3)                  *args
# {'a': 4, 'b': 5, 'c': 6}   **kwargs

반응형
댓글
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday