순서대로 파라미터를 정해주는 것이 아니라, 파라미터를 이름으로 맞추어서 값을 전해 줄 수 있습니다.
keyword arguments 방식으로 값을 전해주면 실제 파라미터 순서가 바뀌어도 괜찮습니다.
your_name과 my_name에 각각 파라미터 이름을 주고 값을 지정해 주었다.
그 결과 "정우성 loves 아이유" 가 나왓다. 이 방식이 Keyword Arguments 이다.
두 개를 같이 혼용해서 사용해도 가능하다.
굳이 my_name="정우성"을 써주지 않더라도 positional Argumets에 따라 자동으로 "정우성"이 첫 번째 파라미터로 지정되고, 아이유는 Keyword Arguments처럼 지정해주었다.
결과값은 동일 하다.
가장 중요한 것은 Keyword Arguments는 순서가 바뀌어도 상관없지만, Positional Arguments는 자신의 이름대로 위치가 매우 중요하다
your_name을 먼저 써주게 되면
이런식으로 syntaxError이 일어나게 된다.
함수의 parameter에 default 값을 정의해 줄 수 도 있습니다. Default 값이 정의된 parameter는 함수가 호출 될 때 값이 넘겨지지 않아도 됩니다. 값이 넘겨지지 않을 경우 default값이 자동으로 넘겨지게 됩니다.
보여지듯이 your_name ="아이유"라는 default 값(기본값)을 주니까 굳이 파라미터로 주지 않아도 자동으로 아이유자리에 들어갔다.
결과는 위와 동일하게 이루어졌다.
-> default값은 써도 그만 안써도 그만이기 때문에 먼저 쓰게 되면 나중에 값을 주게되었을때, 인식하는데 있어 혼돈이 와서 그럴것 같습니다. 그래서 뒤에 나오는 파라미터가 제대로 값을 얻지 못할 가능성이 크기 때문입니다.