본문 바로가기
코딩교육/Python 초등교육에서 전문가까지

2단계 : 4. 함수 (매개변수와 반환값의 사용법)

by 제리토리 2025. 3. 18.
728x90
반응형

 

 

Python의 함수는 데이터를 주고받는 기능이 매우 강력합니다. 매개변수(parameter)는 함수에 값을 전달하기 위한 변수이며, 반환값(return value)은 함수가 처리한 결과를 반환하는 값입니다.

 

이 장에서는 매개변수의 다양한 사용법과 반환값 처리 방법을 심도 있게 설명하고, 효율적인 함수 활용 방법을 다룹니다.

 

 

1. 매개변수란 ?

 

매개변수(parameter)는 함수 호출 시 전달되는 값(인자, argument)을 받아 처리하는 변수입니다.

 

㉮ 매개변수가 없는 함수

 

매개변수가 없을 경우, 호출 시 입력값 없이 실행됩니다.

def greet():
    print("안녕하세요!")

greet()

 

출력결과

안녕하세요!

 

  • greet() 함수는 외부 값을 받지 않고 내부에서 정해진 동작만 수행.

 

 

㉯ 매개변수가 있는 함수

 

매개변수를 사용하면 외부에서 값을 전달받아 함수의 동작을 동적으로 제어할 수 있습니다.

def greet(name):
    print(f"안녕하세요, {name}님!")

greet("철수")
greet("영희")

 

출력결과

안녕하세요, 철수님!
안녕하세요, 영희님!

 

  • name 매개변수를 통해 함수 호출 시 다른 이름을 사용할 수 있음.

 

 

2. 매개변수의 다양한 활용

 

㉮ 여러 개의 매개변수

 

함수는 여러 개의 매개변수를 가질 수 있습니다.

def add(a, b):
    return a + b

result = add(3, 5)
print(f"두 수의 합: {result}")

 

출력결과

두 수의 합: 8

 

  • a, b 두 개의 매개변수를 받아 연산 후 결과를 반환.

 

 

㉯ 기본값을 가진 매개변수 (Default Parameter)

 

매개변수에 기본값을 설정하면, 인자가 없을 경우 기본값이 사용됩니다.

def greet(name="손님"):
    print(f"안녕하세요, {name}님!")

greet()       # 기본값 사용
greet("철수")  # 전달된 값 사용

 

출력결과

안녕하세요, 손님님!
안녕하세요, 철수님!

 

  • 기본값이 있는 매개변수를 사용하면 함수를 더 유연하게 활용 가능.

 

 

㉰ 가변 인자 (*args)

 

매개변수 개수가 정해져 있지 않을 경우, *args를 사용하여 여러 개의 값을 받을 수 있습니다.

def add_all(*numbers):
    return sum(numbers)

print(add_all(1, 2, 3))       # 6
print(add_all(4, 5, 6, 7, 8)) # 30

 

출력결과

6
30

 

  • *args는 여러 개의 값을 튜플(tuple) 형태로 받아 처리할 수 있음.

 

 

㉱ 키워드 인자 (**kwargs)

 

키-값 형태의 여러 개의 인자를 받을 때 **kwargs를 사용합니다.

def user_info(**info):
    for key, value in info.items():
        print(f"{key}: {value}")

user_info(name="철수", age=25, city="서울")

 

출력결과

name: 철수
age: 25
city: 서울

 

  • **kwargs는 딕셔너리(dictionary) 형태로 여러 개의 값을 저장.

 

 

3. 반환값(return)의 활용

 

㉮ 반환값이 있는 함수

 

return을 사용하면 함수의 실행 결과를 호출한 곳으로 반환할 수 있습니다.

def square(n):
    return n * n

result = square(4)
print(result)  # 16 출력

 

  • return을 사용하면 결과를 변수에 저장하거나 다른 연산에 활용 가능.

 

 

㉯ 반환값이 없는 함수

 

return을 사용하지 않으면 None이 반환됩니다.

def say_hello():
    print("Hello, World!")

result = say_hello()
print(result)  # None 출력

 

출력결과

Hello, World!
None

 

 

㉰ 여러 개의 값 반환

 

Python에서는 튜플을 사용하여 여러 개의 값을 반환할 수 있습니다.

def calculate(a, b):
    sum_result = a + b
    diff_result = a - b
    return sum_result, diff_result  # 두 개의 값 반환

sum_value, diff_value = calculate(10, 5)
print(f"합: {sum_value}, 차: {diff_value}")

 

출력결과

합: 15, 차: 5

 

  • 여러 개의 값을 반환하면 코드의 활용도가 높아짐.

 

 

㉱ 조건에 따라 반환값 다르게 설정

def check_number(n):
    if n > 0:
        return "양수"
    elif n < 0:
        return "음수"
    else:
        return "0"

print(check_number(10))  # 양수
print(check_number(-5))  # 음수
print(check_number(0))   # 0

 

  • 조건문을 활용하여 반환값을 다르게 설정 가능.

 

 

4. 매개변수와 반환값 활용 예제

 

㉮ 환율 변환기

def currency_converter(amount, rate=1300):
    return amount * rate

print(currency_converter(100))  # 기본 환율 사용
print(currency_converter(100, 1350))  # 사용자 지정 환율 사용

 

출력결과

130000
135000

 

 

㉯ 로그인 인증 시스템

def authenticate(username, password):
    if username == "admin" and password == "1234":
        return "로그인 성공"
    else:
        return "로그인 실패"

print(authenticate("admin", "1234"))  # 로그인 성공
print(authenticate("user", "0000"))   # 로그인 실패

 

출력결과

로그인 성공
로그인 실패

 

  • 함수가 로그인 결과를 반환하여 활용 가능.

 

 

5.요약

 

  • 매개변수(Parameter): 함수를 호출할 때 값을 전달받는 변수.

  • 반환값(Return Value): 함수의 실행 결과를 호출한 곳으로 반환.

  • 기본값이 있는 매개변수를 사용하면 유연한 함수 설계 가능.

  • *args를 사용하면 가변 개수의 위치 인자를 받을 수 있음.

  • **kwargs를 사용하면 키-값 형태의 인자를 받을 수 있음.

  • return을 활용하여 여러 개의 값 반환 가능.

728x90
반응형