
Python에서 함수를 정의할 때, 매개변수에 기본값(Default Value)을 설정할 수 있으며, 이를 기본 매개변수(Default Parameter)라고 합니다. 또한, 함수 호출 시 키워드를 사용하여 특정 매개변수에 값을 전달할 수도 있으며, 이를 키워드 매개변수(Keyword Argument)라고 합니다.
이 장에서는 기본 매개변수와 키워드 매개변수의 개념, 활용법, 주의할 점을 깊이 있게 다룹니다.
1. 기본 매개변수 (Default Parameter)
기본 매개변수는 함수를 호출할 때 인자를 전달하지 않아도 기본값이 적용되도록 설정된 매개변수입니다.
㉮ 기본 매개변수 사용법
기본값이 있는 매개변수는 함수 정의 시 = 기호를 사용하여 값을 설정합니다.
def greet(name="손님"):
print(f"안녕하세요, {name}님!")
greet() # 기본값 사용
greet("철수") # 전달된 값 사용
출력결과
안녕하세요, 손님님!
안녕하세요, 철수님!
• 매개변수 name의 기본값은 "손님".
• greet() 호출 시 기본값 "손님"이 사용됨.
• greet("철수") 호출 시 전달된 값 "철수"가 적용됨.
㉯ 기본 매개변수의 활용 예제
(1) 환율 변환기
def currency_converter(amount, rate=1300): # 기본 환율 설정
return amount * rate
print(currency_converter(100)) # 기본 환율 사용
print(currency_converter(100, 1350)) # 사용자 지정 환율 사용
출력결과
130000
135000
• rate 매개변수에 기본값 1300을 설정하여, 환율 값을 입력하지 않으면 기본값을 사용.
(2) 배송비 계산 함수
def calculate_shipping(weight, country="한국"):
if country == "한국":
return weight * 500 # 국내 배송비
else:
return weight * 1000 # 해외 배송비
print(calculate_shipping(2)) # 국내 배송
print(calculate_shipping(2, "미국")) # 해외 배송
출력결과
1000
2000
• 기본적으로 국내 배송(한국)이 적용되며, 해외 배송을 원하면 country 값을 변경하면 됨.
2. 키워드 매개변수 (Keyword Argument)
키워드 매개변수(Keyword Argument)는 함수를 호출할 때 매개변수 이름을 직접 지정하여 값을 전달하는 방식입니다.
㉮ 키워드 매개변수의 기본 사용법
def greet(name, message):
print(f"{name}님, {message}")
greet(name="철수", message="좋은 하루 되세요!")
greet(message="안녕하세요!", name="영희") # 순서 변경 가능
출력결과
철수님, 좋은 하루 되세요!
영희님, 안녕하세요!
• 매개변수의 순서와 상관없이 호출 가능.
• 함수 호출 시 각 매개변수에 특정 값을 명확하게 전달 가능.
㉯ 키워드 매개변수의 활용 예제
(1) 로그인 시스템
def login(username, password):
print(f"사용자: {username}, 비밀번호: {password}")
login(username="admin", password="1234")
login(password="abcd", username="user1") # 순서 변경 가능
출력결과
사용자: admin, 비밀번호: 1234
사용자: user1, 비밀번호: abcd
• 키워드 매개변수를 사용하면 매개변수 순서에 상관없이 명확하게 값 지정 가능.
(2) 고객 주문 시스템
def order_menu(main, side, drink):
print(f"메인 메뉴: {main}, 사이드 메뉴: {side}, 음료: {drink}")
order_menu(main="스테이크", side="샐러드", drink="콜라")
order_menu(drink="사이다", side="감자튀김", main="햄버거") # 순서 변경 가능
출력결과
메인 메뉴: 스테이크, 사이드 메뉴: 샐러드, 음료: 콜라
메인 메뉴: 햄버거, 사이드 메뉴: 감자튀김, 음료: 사이다
• 키워드 인자를 활용하면 가독성이 높아지고, 입력 순서에 구애받지 않음.
3. 기본 매개변수와 키워드 매개변수 함께 사용하기
기본 매개변수와 키워드 매개변수를 함께 사용하면 더욱 유연한 함수가 됩니다.
def user_profile(name, age, country="한국"):
print(f"이름: {name}, 나이: {age}, 국가: {country}")
user_profile("철수", 25) # 기본값 사용
user_profile("영희", 30, country="미국") # 기본값 덮어쓰기
user_profile(age=40, name="민수") # 키워드 인자로 순서 변경 가능
출력결과
이름: 철수, 나이: 25, 국가: 한국
이름: 영희, 나이: 30, 국가: 미국
이름: 민수, 나이: 40, 국가: 한국
• 기본값이 있는 country는 필요할 때만 덮어쓰기 가능.
• 키워드 인자를 사용하면 순서를 변경해도 문제 없음.
4. 주의할 점
㉮ 기본 매개변수는 항상 마지막에 위치해야 함
# 올바른 예
def func(a, b=10):
pass
# 잘못된 예 (기본값이 있는 매개변수가 먼저 오면 오류 발생)
def func_wrong(a=10, b):
pass # SyntaxError 발생
💡 기본값이 있는 매개변수는 반드시 뒤쪽에 위치해야 한다.
5.요약
• 기본 매개변수(Default Parameter):
• 함수 정의 시 = 기호를 사용하여 기본값을 설정.
• 인자가 없으면 기본값을 사용하며, 필요할 때만 값을 변경 가능.
• 키워드 매개변수(Keyword Argument):
• 함수 호출 시 매개변수 이름을 직접 지정하여 값을 전달.
• 매개변수 순서와 상관없이 호출 가능하여 가독성이 향상됨.
• 기본 매개변수와 키워드 매개변수를 함께 사용하면 더 유연한 함수 설계 가능.
• 기본값이 있는 매개변수는 항상 뒤쪽에 위치해야 함.
'코딩교육 > Python 초등교육에서 전문가까지' 카테고리의 다른 글
2단계 : 4. 함수 (실행 시간 측정, 데이터 처리 및 알고리즘 최적화) (0) | 2025.03.21 |
---|---|
2단계 : 4. 함수 (함수의 가독성과 모듈화 - 왜 함수를 사용하는가 ?) (0) | 2025.03.20 |
2단계 : 4. 함수 (매개변수와 반환값의 사용법) (0) | 2025.03.18 |
2단계 : 4. 함수 (함수 정의와 호출 - def 키워드) (0) | 2025.03.17 |
2단계 : 3. 반복문 (골든크로스 및 데드크로스를 활용한 주식 백테스팅 전략) (0) | 2025.03.16 |