Python-More Complex Function Parameters

DONGHYUN KOO·2020년 8월 23일
0

python

목록 보기
12/19

Keyworded variable length of arguments

Keyworded variable length of arguments는 이름 그대로 keyword arguments 인데 그 수가 정해지지 않고 유동적으로 변할 수 있는 keyword arguments 입니다.

Keyworded variable length of arguments를 선언 하기 위해서는 parameter 이름앞에 두개의 별표 (**) 로 시작해야 합니다.

함수를 호출할때 일반적인 keyword arguments 처럼 사용하면 됩니다.

일반적인 keyword arugments와의 차이점:

  • Argument 수를 0부터 N까지 유동적으로 넘겨줄 수 있습니다.
  • Keyword가 미리 정해져 있지 않기때문에 원하는 keyword를 유동적으로 사용할 수 있습니다.
  • Keyworded variable length of arguments는 dictionary 형태로 지정됩니다.

Non-keyworded variable length of arguments

keyword 를 사용하지 않고 순서대로 값을 전달하는 방식도 가능

Mixing args and kwargs

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

def do_something(*args, **kwargs):
     ## some code here...

그렇다면 왜 둘다 사용할까요?
둘다 사용하면 어떠한 형태와 수의 argument도 허용 가능한 함수가 됩니다.
즉, parameter에 있어서 굉장히 유동적인 함수가 되는것입니다.

do_something(1, 2, 3, name="정우성", age=45)
do_something(1, 2, 3, 4, 5, "hello", {"주소" : "서울", "국가" : "한국"})
do_something(name="정우성", gender="남", height="187")
do_something(1)
do_something()

0개의 댓글