Positional arguments
- 흔히 보는 일반적인 인자입니다.
- 함수에서 정의한 위치대로 대입합니다.
Keyword Arguments
- 순서 대신에 parameter 이름으로 맞추어서 값을 전해줄 수 있습니다. 이를 keyword argments 라고 합니다.
- Keyword arguments 방식으로 parameter 값을 전해주면 실제 * parameter 순서가 바뀌어도 괜찮습니다.
Mixing positional arguments and keyword arguments
- 순서를 맞추어서 parameter 값을 전해주는 positional arguments와 keyword arguments를 혼용하여 사용하는것도 가능합니다.
- 다만 여기서 중요한것은 keyword arguments 는 순서가 바뀌어도 상관 없지만 positional arguments 부분은 순서를 지켜줘야한다.
Parameter Default Value
- 함수의 parameter에 default 값을 정의해 줄 수 도 있습니다.
- Default 값이 정의된 paramter는 함수가 호출될때 값이 넘겨지 않아도 괜찮습니다. 값이 넘겨지 않은 경우 default 값이 자동으로 넘겨지게 됩니다.
- 다만 조심해야 할점은 default 값이 정의된 parameter가 default 값이 정의 되지 않은 parameter 보다 먼저 위치해 있으면 안된다는 점입니다.
Code
def i_love_code(name="정우성", coding):
print(f"{name} loves {coding}")
자세한이유를 stack overflow에서 찾아보았다.
더자세한 인수들
- 위치 인수(positional arguments),
가변 인수(variable length arguments),
가변 키워드 인수 (variable length keyword arguments)에 대해서 다음장에서 다뤄보겠다.