이 자습서에서는 함수 호출을 단순화하는 Python 기본 매개 변수에 대해 알아봅니다.
1. Python 기본 매개변수 소개
함수를 정의할 때 각 매개변수에 대한 기본값을 지정할 수 있습니다.
매개변수의 기본값을 지정하려면 다음 구문을 사용합니다.
def function_name(param1, param2=value2, param3=value3, ...):
이 구문에서는 할당 연산자(=)를 사용하여 각 매개변수에 대한 기본값(value2, value3, …)을 지정합니다.
함수를 호출하고 기본값이 있는 매개변수에 인수를 전달하면 함수는 기본값 대신 해당 인수를 사용합니다.
그러나 인수를 전달하지 않으면 함수는 기본값을 사용합니다.
기본 매개변수를 사용하려면 다른 매개변수 뒤에 기본값이 있는 매개변수를 배치해야 합니다. 그렇지 않으면 구문 오류가 발생합니다.
예를 들어 다음과 같은 작업을 수행할 수 없습니다.
def function_name(param1=value1, param2, param3):
이로 인해 구문 오류가 발생합니다.
2. Python 기본 매개변수 예시
다음 예제에서는 인사말 메시지를 반환하는 greet() 함수를 정의합니다.
def greet(name, message='Hi'):
return f"{message} {name}"
welcome() 함수에는 이름과 메시지라는 두 개의 매개변수가 있습니다. 그리고 메시지 매개변수의 기본값은 'Hi'입니다.
다음은 welcome() 함수를 호출하고 두 인수를 전달합니다.
def greet(name, message='Hi'):
return f"{message} {name}"
greeting = greet('John', 'Hello')
print(greeting)
Output:
Hello John
welcome() 함수에 두 번째 인수를 전달하므로 함수는 기본값 대신 인수를 사용합니다.
다음 예제에서는 두 번째 인수를 전달하지 않고 greet() 함수를 호출합니다.
def greet(name, message='Hi'):
return f"{message} {name}"
greeting = greet('John')
print(greeting)
Output:
Hi John
이 경우 Greeting() 함수는 메시지 매개변수의 기본값을 사용합니다.
3. 여러 기본 매개변수
다음은 기본값이 있는 두 매개 변수를 사용하여 greet() 함수를 재정의합니다.
def greet(name='there', message='Hi'):
return f"{message} {name}"
이 예제에서는 매개변수를 전달하지 않고 greet() 함수를 호출할 수 있습니다.
def greet(name='there', message='Hi'):
return f"{message} {name}"
greeting = greet()
print(greeting)
Output:
Hi there
welcome() 함수가 Hello there와 같은 인사말을 반환하기를 원한다고 가정합니다. 다음과 같은 함수 호출이 나올 수 있습니다.
def greet(name='there', message='Hi'):
return f"{message} {name}"
greeting = greet('Hello')
print(greeting)
불행히도 예상치 못한 값을 반환합니다.
Hi Hello
'Hello' 인수를 전달할 때 greet() 함수는 이를 두 번째 인수가 아닌 첫 번째 인수로 취급하기 때문입니다.
이 문제를 해결하려면 다음과 같은 키워드 인수를 사용하여 greet() 함수를 호출해야 합니다.
def greet(name='there', message='Hi'):
return f"{message} {name}"
greeting = greet(message='Hello')
print(greeting)
Output:
Hello there
4. Summary
- Python 기본 매개변수를 사용하여 함수 호출을 단순화합니다.
- 기본값이 아닌 매개변수 뒤에 기본 매개변수를 배치합니다.
refreance: https://www.pythontutorial.net/python-basics/python-default-parameters/
'Programing > Python' 카테고리의 다른 글
Python Recursive Functions: 재귀 함수란 (0) | 2023.03.06 |
---|---|
Python Keyword Arguments: 키워드 인수 소개 (0) | 2023.03.06 |
Python Functions 사용하기 (0) | 2023.03.06 |
Python pass (0) | 2023.03.04 |
Python continue: 현재 반복을 건너뛰고 다음 반복을 시작 (0) | 2023.03.04 |
댓글