본문 바로가기

개념

파이썬(Python)의 기본 인자(default parameter) 설정 하는 방법

함수를 정의할 때, 매개변수(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을 사용하고 함수 내에서 초기화하는 것이 좋습니다.