📌 Python 함수 심화 – Chapter 6-4. 키워드 매개변수
✅ 1. 기본 매개변수와 가변 매개변수의 사용
def oz(n=3, *values):
"""
Parameters:
n (int): 기본 매개변수로, 반복 횟수를 나타냅니다. 기본값은 3입니다.
*values: 가변 매개변수로, 함수에 전달된 모든 위치 인수를 튜플로 묶어서 받습니다.
"""
for i in range(n):
for value in values:
print(value)
print()
oz("기본 매개변수 다음에", "가변 매개변수들", "넣을 수 있을까요?")
- 출력 오류
TypeError: 'str' object cannot be interpreted as an integer
- 원인
- 첫 번째 인자 "기본 매개변수 다음에"가 n에 전달되어 발생.
📌 해결 방법
def oz(*values, n=3):
for i in range(n):
for value in values:
print(value)
print()
oz("기본 매개변수 다음에", "가변 매개변수들", "넣을 수 있을까요?", n=10)
- 정상 출력
기본 매개변수 다음에
가변 매개변수들
넣을 수 있을까요?
기본 매개변수 다음에
가변 매개변수들
넣을 수 있을까요?
...(10번 반복)
- 설명
- n 값을 명시적으로 n=10으로 전달하여 해결.
✅ 2. 키워드 매개변수란?
- 함수 호출 시 매개변수 이름을 명시하여 값을 전달하는 방법.
- 매개변수의 순서와 상관없이 이름을 지정하여 값을 명확하게 전달 가능.
✅ 3. 키워드 매개변수 예제
list = ["안", "녕", "하", "세", "요"]
for i in list:
print(i, end="")
- 출력 결과
안녕하세요
- 설명
- end는 기본 매개변수로, 출력의 마지막에 붙일 문자열을 지정.
- end=""로 설정해 줄 바꿈 없이 출력.
✅ 4. 키워드 매개변수를 사용한 함수
def oz(x, y=20, h=10):
return x * y * h
print(oz(10)) # y=20, h=10 기본값 사용
print(oz(10, y=10)) # y 값만 변경
print(oz(5, y=5, h=5)) # 모든 매개변수 변경
- 출력 결과
2000
1000
125
- 설명
- y와 h는 기본 매개변수이므로, 호출 시 필요에 따라 선택적으로 변경 가능.
✅ 이해도 체크리스트
- 키워드 매개변수를 사용하는 이유는?
- 코드의 가독성과 유연성을 높일 수 있음.
- 함수 호출 시 매개변수의 순서를 기억할 필요 없이, 명확하게 값을 전달할 수 있음.
- 키워드 매개변수를 사용하기 위한 문법은?
- 함수 정의 시 기본값을 = 기호로 지정.
- 함수 호출 시 매개변수명=값 형태로 전달.
def example(x, y=10):
return x + y
print(example(5)) # y의 기본값 사용 → 출력: 15
print(example(5, y=3)) # y 값을 변경하여 호출 → 출력: 8
이 정리된 내용을 통해 키워드 매개변수에 대한 이해를 확실히 다지고, 실무에서도 활용해 보세요! 🚀
📌 Python 함수 심화 – 매개변수 정리
✅ 1. 일반 매개변수 (필수로 값 전달)
- 함수 호출 시 반드시 값을 전달해야 하는 매개변수.
def greet(name):
print(f"안녕하세요, {name}님!")
greet("상빈") # 출력: 안녕하세요, 상빈님!
# greet() # 오류 발생 (TypeError: missing 1 required positional argument)
출력 결과
안녕하세요, 상빈님!
✅ 2. 기본 매개변수 (값을 전달하지 않으면 기본값 사용)
- 값을 전달하지 않으면 기본값을 사용.
def greet(name, message="안녕하세요"):
print(f"{message}, {name}님!")
greet("상빈") # 출력: 안녕하세요, 상빈님!
greet("상빈", "반가워요") # 출력: 반가워요, 상빈님!
출력 결과
안녕하세요, 상빈님!
반가워요, 상빈님!
✅ 3. 가변 매개변수 (*args - 여러 개 값 받기)
- 여러 개의 값을 튜플 형태로 받을 수 있음.
def greet(*names):
for name in names:
print(f"안녕하세요, {name}님!")
greet("상빈", "철수", "영희")
출력 결과
안녕하세요, 상빈님!
안녕하세요, 철수님!
안녕하세요, 영희님!
✅ 4. 키워드 매개변수 (**kwargs - 키워드로 값 받기)
- 키워드 형태로 인자를 전달받아 딕셔너리 형태로 처리.
def greet(**info):
for key, value in info.items():
print(f"{key}: {value}")
greet(name="상빈", age=25, city="부산")
출력 결과
name: 상빈
age: 25
city: 부산
✅ 5. 매개변수의 순서 (일반 ➡️ 기본 ➡️ 가변 ➡️ 키워드)
- 매개변수는 반드시 일반 ➡️ 기본 ➡️ 가변 ➡️ 키워드 순으로 작성해야 함.
def example(a, b=10, *args, **kwargs):
print(a, b, args, kwargs)
example(1, 2, 3, 4, name="상빈", age=25)
출력 결과
1 2 (3, 4) {'name': '상빈', 'age': 25}
⚠️ 주의! 기본 매개변수는 항상 일반 매개변수 뒤에 위치해야 합니다.
# 잘못된 예시 (오류 발생)
def greet(message="안녕하세요", name):
print(f"{message}, {name}님!")
# 오류 발생!
# SyntaxError: non-default argument follows default argument
이렇게 정리된 내용을 통해 각 매개변수의 개념과 사용법을 확실히 익혀보세요! 🚀
'Python' 카테고리의 다른 글
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-6. 함수의 기본활용 (0) | 2025.03.13 |
---|---|
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-5. 함수 리턴 (0) | 2025.03.13 |
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-3. (0) | 2025.03.13 |
[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-2 (0) | 2025.03.13 |
[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6 (0) | 2025.03.13 |