[파이썬] 함수의 매개변수와 반환값

함수는 프로그래밍에서 중요한 구성 요소입니다. 함수는 입력값을 받아서 특정 작업을 수행하고, 결과값을 반환할 수 있습니다. 이번 블로그에서는 Python에서 함수의 매개변수와 반환값에 대해 알아보겠습니다.

매개변수 (Parameters)

함수는 def 키워드를 사용하여 정의됩니다. 함수를 정의할 때, 매개변수를 지정할 수 있습니다. 매개변수는 함수 내에서 사용할 수 있는 변수입니다. 예를 들어, 다음은 두 개의 매개변수를 가지는 add_numbers 함수의 예입니다:

def add_numbers(num1, num2):
    sum = num1 + num2
    return sum

위의 예시에서 add_numbers 함수는 두 개의 매개변수 num1num2를 받아들이고, 두 값을 더한 결과를 반환합니다.

매개변수는 함수 내에서 변수로 사용되기 때문에, 함수 내에서만 유효한 지역 변수입니다. 함수 외부에서는 해당 변수에 접근할 수 없습니다.

반환값 (Return Values)

함수는 return 키워드를 사용하여 결과값을 반환할 수 있습니다. 반환값은 함수가 수행한 작업의 결과를 의미합니다. 예를 들어, 앞서 언급한 add_numbers 함수에서 두 수를 더한 결과를 반환합니다.

def add_numbers(num1, num2):
    sum = num1 + num2
    return sum

함수를 호출할 때, 반환값은 변수에 저장하거나 직접 사용할 수 있습니다. 예를 들어, 다음은 add_numbers 함수를 호출하고 반환값을 변수 result에 저장하는 예입니다.

result = add_numbers(5, 3)
print(result)  # 출력: 8

반환값이 없는 함수 (Void Functions)

모든 함수가 반드시 반환값을 가져야 하는 것은 아닙니다. 반환값이 없는 함수를 “void 함수”라고 합니다. void 함수는 필요한 작업을 수행하고 결과를 반환하지 않습니다. 대신 함수 내부에서 작업을 수행하거나, 외부의 상태를 변경할 수 있습니다.

void 함수의 예를 들어보겠습니다. 다음은 리스트에 있는 숫자들을 출력하는 print_numbers라는 함수입니다:

def print_numbers(numbers):
    for number in numbers:
        print(number)

위의 예시에서 print_numbers 함수는 리스트를 매개변수로 받아들이고, 각각의 숫자를 출력합니다. 반환값이 없는 함수는 함수를 호출할 때 반환값을 변수에 저장하지 않습니다.

기본 매개변수 (Default Parameters)

Python 함수는 기본 매개변수를 가질 수 있습니다. 기본 매개변수는 함수를 정의할 때 매개변수에 기본 값을 할당하는 것을 의미합니다. 기본 값은 함수를 호출할 때 매개변수에 값을 전달하지 않았을 경우 사용됩니다.

예를 들어, 다음은 greet 함수가 기본 매개변수를 가지는 예입니다:

def greet(name="Guest"):
    print("Hello, " + name)

# 기본 매개변수를 사용하지 않았을 때
greet()  # 출력: Hello, Guest

# 매개변수를 전달했을 때
greet("Alice")  # 출력: Hello, Alice

위의 예시에서 greet 함수를 호출할 때 매개변수를 전달하지 않았으므로, 기본값인 “Guest”가 사용됩니다.

매개변수와 반환값은 함수를 정의할 때 유연성을 제공합니다. 이를 활용하여 여러 종류의 작업을 수행하는 함수를 생성할 수 있습니다. 매개변수는 함수가 입력값을 받을 수 있게 해주고, 반환값은 함수의 결과를 다른 부분에서 사용할 수 있게 해줍니다.

Python에서 함수의 매개변수와 반환값을 효율적으로 활용하여 다양한 프로그래밍 작업을 수행할 수 있습니다. 함수는 코드의 재사용성을 높이고 가독성을 향상시키는 데 도움이 됩니다. 매개변수와 반환값을 올바르게 활용하여 코드를 작성해보세요!