Post

매개변수

매개변수

파이썬에서 함수는 다양한 형태의 매개변수를 가질 수 있으며, 그 종류로는 가변 매개변수, 기본 매개변수, 키워드 매개변수가 있다.

기본 매개변수 (Default Parameters)

함수를 호출할 때 값이 제공되지 않는 경우 사용되는 매개변수이다. 이 매개변수에는 기본값이 할당되며, 함수 호출 시 해당 매개변수에 대해 아무 값도 전달되지 않으면 이 기본값이 사용된다.

1
2
3
4
5
6
7
8
def greet(name, message="Hello"):
    return f"{message}, {name}!"

# 기본 매개변수 사용
print(greet("Alice")) # "Hello, Alice!"

# 기본 매개변수를 오버라이드
print(greet("Alice", "Goodbye")) # "Goodbye, Alice!"

가변 매개변수 (*args and **kwargs)

가변 매개변수를 사용하면 함수에 임의의 수의 매개변수를 전달할 수 있다. *args는 임의 개수의 매개변수를 튜플로 받고, **kwargs는 임의 개수의 키워드 매개변수를 dict로 받는다.

1
2
3
4
5
6
7
8
9
def make_greeting(*args, **kwargs):
    greeting = " and ".join(args) + "! "
    if kwargs:
        greeting += "Your special message is: "
        greeting += ", ".join(f"{key}={value}" for key, value in kwargs.items())
    return greeting

print(make_greeting("Alice", "Bob", greeting="Hello", time="Morning"))
# "Alice and Bob! Your special message is: greeting=Hello, time=Morning"

키워드 매개변수 (Keyword Arguments)

키워드 매개변수는 함수를 호출할 때 매개변수의 이름을 명시적으로 지정하여 값을 전달하는 방식이다. 이를 통해 함수 호출 시 매개변수의 순서를 고려하지 않아도 되며, 코드의 가독성을 높일 수 있다.

1
2
3
4
5
6
7
8
9
10
def register_user(name, age, country="Unknown"):
    return f"Name: {name}, Age: {age}, Country: {country}"

# 키워드 매개변수 사용
print(register_user(name="Alice", age=30, country="Wonderland"))
# "Name: Alice, Age: 30, Country: Wonderland"

# 일부 매개변수만 키워드로 전달
print(register_user("Bob", age=25))
# "Name: Bob, Age: 25, Country: Unknown"
This post is licensed under CC BY 4.0 by the author.

© zwoong. Some rights reserved.