가변인수

최대환·2021년 4월 19일
0

파이썬

목록 보기
9/16

가변인수(variable length arguments)

  • 가변인자 함수는 함수가 몇 개의 인자를 받을지 정해지지 않은 함수입니댜.
  • 위치, 키워드 인자의 개수가 많아지거나 인자의 수가 미정일 경우 가변인자를 사용합니다.

keyworded variable length of arguments

  • Keyworded variable length of arguments의 뜻은 keyword arguments 인데 그 수가 정해지지 않고 유동적으로 변할 수 있는 keyword arguments 입니다.
  • Keyworded variable length of arguments를 선언 하기 위해서는 parameter 이름앞에 두개의 별표 ** 로 시작해야 합니다.
  • Keyworded variable length of arguments를 사용할때 일반적으로 argument 이름을 kwargs 라고 짓습니다.(다른 것으로 지어도 됩니다.)
  • 일반적인 keyword arguments와의 차이점
    1. Argument 수를 0부터 N까지 유동적으로 넘겨줄 수 있습니다.
    2. Keyword가 미리 정해져 있지 않기때문에 원하는 keyword를 유동적으로 사용할 수 있습니다.
    1. Keyworded variable length of arguments는 dictionary 형태로 지정됩니다.

👉 예제

💻 python

def clothes(**kwargs):
  print(f'내가 입은 옷입니다.')
  for item in kwargs:
    print(f'{item} = {kwargs[item]}')

clothes(이너 ="니트", 하의="슬랙스", 신발 ="운동화")

👀 결과

내가 입은 옷입니다.
이너 = 니트
하의 = 슬랙스
신발 = 운동화

Non-keyworded variable length of arguments

  • 간단하게 variable length of arguments, variable arguments 라고도 합니다.
  • Keyworded variable length of arguments와 동일하지만 keyword 를 사용하지 않고 순서대로 값을 전달하는 방식입니다.
  • Variable arguments를 선언하는 방법은 별표1개를 사용해서 선언합니다.
  • variable arguments는 tuple로 변환되어 함수에 전달됩니다.

👉 예제

💻 python

def clothes(*args):
  print(f'내가 입은 옷은 {args}입니다')

clothes("니트", "슬랙스", "운동화")

👀 결과

내가 입은 옷은 ('니트', '슬랙스', '운동화')입니다

Mixing args and kwargs

  • Variable arguments와 keyworded variable arguments 둘다 사용하여 함수를 정의할 수 도 있습니다.

👉 예제

💻 python

def today(*args, **kwargs):
  print(f'내가 오늘 만난 친구 {args}이다.\n그리고 오늘 입은 옷은')
  for item in kwargs:
    print(f'{item} = {kwargs[item]}')

today("찬영", "성헌", "민중", 상의 = "니트", 하의 = "슬랙스", 신발 = "운동화")

👀 결과

내가 오늘 만난 친구 ('찬영', '성헌', '민중')이다.
그리고 오늘 입은 옷은
상의 = 니트
하의 = 슬랙스
신발 = 운동화
profile
나의 개발지식 output 공간

0개의 댓글