TIL - 22 python

이동근·2021년 1월 13일
0

python

목록 보기
8/18

Keyword Arguments

순서대로 파라미터를 정해주는 것이 아니라, 파라미터를 이름으로 맞추어서 값을 전해 줄 수 있습니다.
keyword arguments 방식으로 값을 전해주면 실제 파라미터 순서가 바뀌어도 괜찮습니다.

your_name과 my_name에 각각 파라미터 이름을 주고 값을 지정해 주었다.
그 결과 "정우성 loves 아이유" 가 나왓다. 이 방식이 Keyword Arguments 이다.

Positional Arguments and Keyword Arguments

두 개를 같이 혼용해서 사용해도 가능하다.

굳이 my_name="정우성"을 써주지 않더라도 positional Argumets에 따라 자동으로 "정우성"이 첫 번째 파라미터로 지정되고, 아이유는 Keyword Arguments처럼 지정해주었다.
결과값은 동일 하다.

가장 중요한 것은 Keyword Arguments는 순서가 바뀌어도 상관없지만, Positional Arguments는 자신의 이름대로 위치가 매우 중요하다

your_name을 먼저 써주게 되면

이런식으로 syntaxError이 일어나게 된다.

Parameter Default Value

함수의 parameter에 default 값을 정의해 줄 수 도 있습니다. Default 값이 정의된 parameter는 함수가 호출 될 때 값이 넘겨지지 않아도 됩니다. 값이 넘겨지지 않을 경우 default값이 자동으로 넘겨지게 됩니다.

보여지듯이 your_name ="아이유"라는 default 값(기본값)을 주니까 굳이 파라미터로 주지 않아도 자동으로 아이유자리에 들어갔다.

결과는 위와 동일하게 이루어졌다.

그럼 함수를 정의할때 default value parameter를 non-default value parameter 앞에 정의하면 안된다고 배웠습니다. 왤까요?

-> default값은 써도 그만 안써도 그만이기 때문에 먼저 쓰게 되면 나중에 값을 주게되었을때, 인식하는데 있어 혼돈이 와서 그럴것 같습니다. 그래서 뒤에 나오는 파라미터가 제대로 값을 얻지 못할 가능성이 크기 때문입니다.

profile
하루하루 1cm 자라는 개발자

0개의 댓글