인자값의 기본값 유무 그리고 위치 인수/가변 인수

SungjoonAn·2022년 2월 6일
0

파이썬

목록 보기
3/6
post-thumbnail

Non-default value parameter

non-default value parameter 는 함수가 호출될때 파라미터에 인자를 받아 넘겨줄 수 도 있으며, 인자를 넘겨주지 않아도 keywordname=value 형식으로 선언되어 있기 때문에 지정한 value 를 넘겨줄 수 있다.

파이썬에서는 정의할때 파라미터를 받는 순서를 지켜야한다. 다음 코드를 살펴보면 non-default value parameter 를 먼저 받고 default value parameter를 받을 시 다음과 같은 오류 메시지를 확인할 수 있다.

Default value parameter

default value parameter 는 함수가 호출될때 파라미터에 인자를 받아 넘겨준다.

함수를 정의 할때 default value parameter를 non-default value parameter 앞에 정의 하면 안 되는 이유
먼저, 파이썬에서 파라미터를 받는 순서는 다음과 같으며 이 순서를 지키지 않을 시 오류가 발생한다.

def example(a, b, c=None, r="w" , d=[], ae, **ab)
a,b : positional parameter
c=none : optional parameter
r="w" : keyword parameter
d=[] : list parameter
ae : keyword-only
**ab : var-keyword parameter

오류가 발생하는 이유는 파라미터를 정의하는 순서 없이 무작위로 생성 시 함수는 어떤 파라미터에 어떤 값을 받아야 될지 정할 수 없기 때문이다. 하지만 파이썬3 이상부터는 "*"를 이용하면 다음과 같이 오류 없이 사용할 수 있다.

0개의 댓글