[파이썬] 함수의 기본 매개변수 (default arguments)

Python은 함수에 기본 매개변수를 지정할 수 있는 기능을 제공합니다. 기본 매개변수는 함수 호출 시 값이 없는 경우 기본적으로 사용되는 값입니다. 기본 매개변수는 함수를 사용하기 쉽고 유연하게 만들어 줍니다.

기본 매개변수를 사용하는 방법

기본 매개변수는 함수 선언 시 각 매개변수 뒤에 = 기호를 사용하여 지정합니다. 예를 들어, 다음과 같이 함수를 선언하면 name 매개변수에는 기본값인 'John Doe'이 지정됩니다.

def greet(name='John Doe'):
    print('Hello ' + name)

이 함수를 사용하는 방법은 다음과 같습니다.

greet() # Hello John Doe
greet('Jane') # Hello Jane

기본 매개변수 사용 시 주의점

기본 매개변수는 함수 호출 시 값이 없는 경우 기본적으로 사용되는 값이므로, 기본 매개변수로 사용하는 값은 변하지 않는 값이어야 합니다. 예를 들어, 다음과 같이 함수를 선언하면 기본 매개변수로 빈 리스트가 지정됩니다.

def add_numbers(nums=[]):
    nums.append(1)
    return nums

이 함수를 사용하는 방법은 다음과 같습니다.

add_numbers() # [1]
add_numbers() # [1, 1]

위의 예제에서 볼 수 있듯이, 기본 매개변수로 빈 리스트를 사용하면 함수 호출 시마다 리스트가 추가되는 문제가 발생합니다. 따라서 기본 매개변수로 변하지 않는 값을 사용해야 합니다.

결론

기본 매개변수는 함수를 사용하기 쉽고 유연하게 만들어 줍니다. 기본 매개변수는 함수 선언 시 각 매개변수 뒤에 = 기호를 사용하여 지정합니다. 기본 매개변수로 사용하는 값은 변하지 않는 값이어야 합니다.