**kwargs

샤워실의 바보·2025년 2월 5일
0

Python

목록 보기
10/10

kwargs는 파이썬에서 사용되는 약어로, “keyword arguments“를 의미합니다. 함수에 전달된 키워드 기반 인수(매개변수)를 딕셔너리 형태로 처리할 때 사용됩니다.

🔹 kwargs의 사용법**

kwargs는 여러 개의 키워드 인수를 받을 수 있도록 도와주는 기능입니다. 함수 정의 시 kwargs를 사용하면 호출할 때 키워드 기반의 여러 인수를 전달할 수 있으며, 함수 내부에서는 이를 딕셔너리(dict)로 받아 처리합니다.

✅ 예제 1: kwargs 기본 사용**

def print_info(**kwargs):
    for key, value in kwargs.items():
        print(f"{key}: {value}")

print_info(name="Alice", age=25, city="Seoul")

🔹 실행 결과:

name: Alice
age: 25
city: Seoul

• **kwargs는 여러 개의 키워드 인수를 받아서 딕셔너리로 저장합니다.

• kwargs.items()를 사용하면 키와 값을 순회하며 출력할 수 있습니다.

✅ 예제 2: *args와 kwargs 함께 사용**

def mix_args(*args, **kwargs):
    print("Positional arguments:", args)
    print("Keyword arguments:", kwargs)

mix_args(1, 2, 3, name="Alice", age=25)

🔹 실행 결과:

Positional arguments: (1, 2, 3)
Keyword arguments: {'name': 'Alice', 'age': 25}

• *args는 위치 인수를 받고, **kwargs는 키워드 인수를 받습니다.

✅ 예제 3: 함수에 kwargs 전달하기**

**kwargs를 사용하면 다른 함수에 키워드 인수를 전달할 수도 있습니다.

def greeting(name, age):
    print(f"Hello, my name is {name} and I am {age} years old.")

info = {"name": "Bob", "age": 30}
greeting(**info)

🔹 실행 결과:

Hello, my name is Bob and I am 30 years old.

• greeting(**info)는 info 딕셔너리를 풀어서 greeting(name="Bob", age=30)처럼 전달합니다.

✅ 예제 4: 기본값과 함께 사용

def user_info(name, age=18, **kwargs):
    print(f"Name: {name}, Age: {age}")
    for key, value in kwargs.items():
        print(f"{key}: {value}")

user_info("Alice", location="New York", job="Engineer")

🔹 실행 결과:

Name: Alice, Age: 18
location: New York
job: Engineer

• **kwargs를 사용하면 미리 정의되지 않은 추가 정보를 유연하게 받을 수 있습니다.

🔹 kwargs를 사용하는 이유?**

  1. 유연성: 함수에 전달할 수 있는 인수의 개수를 미리 정할 필요가 없습니다.

  2. 가독성 향상: 명시적인 키워드 인수를 사용하여 코드를 더 이해하기 쉽게 만듭니다.

  3. 딕셔너리 활용: 기존의 딕셔너리를 그대로 함수에 전달할 수 있어 편리합니다.

💡 **kwargs는 선택적 키워드 인수를 받을 때 유용하며, 이를 활용하면 보다 확장성이 좋은 코드를 작성할 수 있습니다! 🚀

profile
공부하는 개발자

0개의 댓글