Python/포스팅

파이썬 매개변수 초기값

짜집퍼박사(짜박) 2023. 12. 3. 00:35

파이썬에서는 함수를 정의할 때 매개변수에 초기값(default value)을 설정하여 함수를 호출할 때 해당 매개변수에 값을 전달하지 않으면 기본값이 사용되도록 할 수 있습니다. 이를 통해 함수를 호출할 때 일부 매개변수에만 값을 전달하거나, 전체를 생략할 수 있습니다.

 

1. 매개변수 초기값 설정

매개변수 초기값은 함수의 정의에서 직접 설정됩니다.

def greet(name, greeting="Hello"):
    """인사말을 출력하는 함수"""
    print(f"{greeting}, {name}!")

# 초기값이 있는 매개변수 사용
greet("Alice")  # 출력: Hello, Alice!
greet("Bob", "Hi")  # 출력: Hi, Bob!

위의 예제에서 greeting 매개변수는 초기값이 "Hello"로 설정되어 있습니다. 따라서 함수를 호출할 때 greeting 값을 전달하지 않으면 기본값인 "Hello"가 사용됩니다.

 

2. 초기값이 있는 매개변수의 위치

초기값이 있는 매개변수는 일반적인 매개변수 뒤에 위치해야 합니다.

def incorrect_greet(greeting="Hello", name):
    """잘못된 초기값 설정 예제"""
    print(f"{greeting}, {name}!")

위의 예제는 오류를 발생시킵니다. 초기값이 있는 매개변수는 일반적인 매개변수 뒤에 위치해야 하기 때문입니다.

 

3. 초기값이 있는 매개변수와 초기값이 없는 매개변수 혼용

def detailed_greet(name, greeting="Hello", punctuation="."):
    """세 가지 초기값이 있는 매개변수를 사용하는 함수"""
    print(f"{greeting}, {name}{punctuation}")

# 초기값이 있는 매개변수와 초기값이 없는 매개변수 혼용
detailed_greet("Alice")  # 출력: Hello, Alice.
detailed_greet("Bob", "Hi")  # 출력: Hi, Bob.
detailed_greet("Charlie", punctuation="!")  # 출력: Hello, Charlie!

위의 예제에서는 세 가지 초기값이 있는 매개변수를 사용하고 있습니다. 함수를 호출할 때 필요한 매개변수만 값을 전달할 수 있습니다.

초기값이 있는 매개변수를 사용하면 함수를 호출할 때 누락된 인자에 대해 기본값을 사용할 수 있으므로 함수를 더욱 유연하게 사용할 수 있습니다.

 

With ChatGPT