Python

[[OZ코딩스쿨] 초격차 캠프 - 10일차 (함수) Chapter 6-4. 키워드 매개변수

Chansman 2025. 3. 13. 12:20

📌 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는 기본 매개변수이므로, 호출 시 필요에 따라 선택적으로 변경 가능.

✅ 이해도 체크리스트

  1. 키워드 매개변수를 사용하는 이유는?
    • 코드의 가독성유연성을 높일 수 있음.
    • 함수 호출 시 매개변수의 순서를 기억할 필요 없이, 명확하게 값을 전달할 수 있음.
  2. 키워드 매개변수를 사용하기 위한 문법은?
    • 함수 정의 시 기본값을 = 기호로 지정.
    • 함수 호출 시 매개변수명=값 형태로 전달.
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

이렇게 정리된 내용을 통해 각 매개변수의 개념과 사용법을 확실히 익혀보세요! 🚀