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을 활용하여 여러 개의 값 반환 가능.
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
2단계 : 4. 함수 (함수의 가독성과 모듈화 - 왜 함수를 사용하는가 ?) (0) | 2025.03.20 |
---|---|
2단계 : 4. 함수 (기본 매개변수와 키워드 매개변수) (0) | 2025.03.19 |
2단계 : 4. 함수 (함수 정의와 호출 - def 키워드) (0) | 2025.03.17 |
2단계 : 3. 반복문 (골든크로스 및 데드크로스를 활용한 주식 백테스팅 전략) (0) | 2025.03.16 |
2단계 : 3. 반복문 (무한 루프와 그 활용 사례) (0) | 2025.03.08 |