Python
[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-2
Chansman
2025. 3. 13. 12:18
📌 Python 함수 심화 – Chapter 6-2. 가변 매개변수
✅ 1. 매개변수가 일치하지 않을 때 발생하는 오류
📌 매개변수를 적게 입력한 경우
def oz(message, n):
for i in range(n):
print(message)
oz('oz코딩스쿨') # 오류 발생
- 출력 오류
TypeError: oz() missing 1 required positional argument: 'n'
- 원인
- oz 함수는 message와 n이라는 두 개의 매개변수를 필요로 하지만, 호출 시 n을 전달하지 않아 오류가 발생함.
📌 매개변수를 많이 입력한 경우
def oz(message, n):
for i in range(n):
print(message)
oz('oz코딩스쿨', 5, 3) # 오류 발생
- 출력 오류
TypeError: oz() takes 2 positional arguments but 3 were given
- 원인
- oz 함수는 두 개의 인자를 받도록 정의되었지만, 세 개의 인자를 전달해 오류가 발생함.
✅ 2. 가변 매개변수란?
- 정의
- 함수가 임의의 개수의 인자를 받을 수 있도록 하는 매개변수.
- 매개변수 이름 앞에 *을 붙이면 가변 매개변수가 됨.
📌 예시
print('이렇게 많이 넣을 수 있는 방법은?', 2, 3, '이렇게 마구잡이로')
- 출력
이렇게 많이 넣을 수 있는 방법은? 2 3 이렇게 마구잡이로
✅ 3. 가변 매개변수의 활용
def oz(n, *values):
for i in range(n):
for value in values:
print(value)
print()
oz(3, "이렇게", "저렇게", "가변 매개변수는 요렇게", "신기하죠")
- 출력
이렇게
저렇게
가변 매개변수는 요렇게
신기하죠
이렇게
저렇게
가변 매개변수는 요렇게
신기하죠
이렇게
저렇게
가변 매개변수는 요렇게
신기하죠
✅ 4. 가변 매개변수 사용 시 주의점
📌 가변 매개변수 뒤에는 일반 매개변수가 올 수 없음
def oz(*values, n):
for i in range(n):
for value in values:
print(value)
print()
oz(3, "이렇게", "저렇게", "가변 매개변수는 요렇게", "신기하죠")
- 출력 오류
TypeError: oz() missing 1 required keyword-only argument: 'n'
- 해결 방법
- n을 키워드 인자로 전달해야 함.
- oz("이렇게", "저렇게", "가변 매개변수는 요렇게", "신기하죠", n=3)
📌 가변 매개변수는 하나만 사용 가능
def oz(*values, *n): # 오류 발생
for i in range(n):
for value in values:
print(value)
print()
- 출력 오류
SyntaxError: invalid syntax
- 원인
- 하나의 함수에 두 개의 가변 매개변수를 사용할 수 없음.
✅ 이해도 체크리스트
- 가변 매개변수를 사용하는 이유
- 함수를 정의할 때 몇 개의 매개변수가 필요한지 미리 알 수 없는 경우.
- 임의의 개수의 매개변수를 전달해 함수의 유연성을 높임.
- 가변 매개변수를 사용하기 위한 문법
- 매개변수 이름 앞에 *를 붙임.
def example(*args): print(args)
3. **가변 매개변수 사용 시 제약 조건**
- 가변 매개변수는 반드시 **매개변수 목록의 마지막**에 위치해야 함.
- 하나의 함수에서는 **가변 매개변수를 하나만 사용**할 수 있음.
---
이 정리된 내용을 통해 가변 매개변수에 대한 이해를 확실히 다지고, 실무에서도 활용해 보세요! 🚀