함수를 정의할 때, 매개변수(parameter)를 지정할 수 있습니다. 함수에 전달할 인자(argument)를 받아서 함수 내에서 처리하는데 사용됩니다. 이때 매개변수에 기본값(default value)을 지정할 수 있습니다. 이를 기본 인자(default parameter)라고 합니다.
기본 인자는 함수 호출시 인자가 제공되지 않았을 때 기본값으로 사용되며, 함수 호출시 인자가 제공되면 그 값이 사용됩니다.
1. 기본 인자를 사용한 간단한 함수 예제
def greet(name, greeting="Hello"):
print(greeting, name)
greet("John") # 출력: Hello John
greet("Kate", "Hi") # 출력: Hi Kate
위의 예제에서 greet 함수는 name과 greeting 두 개의 매개변수를 갖고 있습니다. greeting 매개변수는 기본값으로 "Hello"를 갖습니다. 함수 호출시 greeting 인자가 제공되지 않았을 때 기본값으로 "Hello"를 사용합니다.
첫 번째 함수 호출에서 name 인자만 제공되고 greeting 인자가 제공되지 않았습니다. 이 경우 기본값인 "Hello"가 사용되어 "Hello John"이 출력됩니다.
두 번째 함수 호출에서는 name과 greeting 모두 제공되었습니다. 이 경우 제공된 인자가 사용되어 "Hi Kate"가 출력됩니다.
2. 주의 사항
1) 기본 인자는 함수 정의시에만 지정할 수 있습니다. 함수 호출시 기본값을 변경할 수 없습니다.
2) 기본 인자는 항상 맨 마지막 매개변수로 지정되어야 합니다. 그렇지 않으면 구문 오류(Syntax Error)가 발생합니다.
3) 기본 인자의 값은 모든 함수 호출에서 동일합니다. 이는 예상치 않은 결과를 초래할 수 있으므로 주의해야 합니다.
4) 함수 정의시 기본 인자로 변경 가능한(mutable) 객체를 사용하면 예상치 않은 결과가 발생할 수 있습니다. 이는 함수가 호출될 때마다 변경 가능한 객체가 초기화되지 않아서 이전 값이 계속 사용될 수 있기 때문입니다. 이러한 상황은 대부분의 경우 기본값으로 None을 사용하고 함수 내에서 초기화하는 것이 좋습니다.
'개념' 카테고리의 다른 글
파이썬(Python)의 임의의 인자목록(variadic arguments) 에 대해서 (0) | 2023.03.05 |
---|---|
파이썬(Python)의 키워드 인자(keyword arguments) 에 대해서 (0) | 2023.03.04 |
파이썬(Python)의 함수 정의하는 방법 (0) | 2023.03.03 |
파이썬(Python)의 match문에 대해서 (0) | 2023.03.03 |
파이썬(Python)의 pass문에 대해서 (0) | 2023.03.02 |