본문 바로가기
실버를 위한 코딩/파이썬

[파이썬] 파이썬 함수의 위치 인수와 키워드 인수

by forSilver 2024. 8. 18.
반응형

파이썬 함수의 위치 인수와 키워드 인수

파이썬 함수에서 인수를 전달하는 방법에는 크게 두 가지가 있습니다: 위치 인수(positional arguments)와 키워드 인수(keyword arguments)입니다. 이 두 가지 방식의 차이점과 사용법을 알아보겠습니다.

위치 인수 (Positional Arguments)

위치 인수는 함수를 호출할 때 인수의 위치에 따라 해당하는 함수 매개변수에 값을 전달합니다. 함수 정의 시 매개변수의 순서가 중요한 역할을 하며, 호출할 때 제공되는 인수들도 그 순서에 맞게 전달되어야 합니다.

def greet(name, message):
    print(f"{name}, {message}")

greet("Alice", "Good morning!")


위 코드에서 `greet("Alice", "Good morning!")`는 `name` 매개변수에 `"Alice"`를, `message` 매개변수에 `"Good morning!"`을 위치에 맞게 전달합니다.

키워드 인수 (Keyword Arguments)

키워드 인수는 함수 호출 시 각 매개변수의 이름과 함께 값을 전달합니다. 이를 통해 인수의 순서와 상관없이 함수를 호출할 수 있습니다. 또한, 키워드 인수를 사용하면 기본값을 갖는 매개변수를 쉽게 변경할 수 있습니다.

def greet(name, message="Hello!"):
    print(f"{name}, {message}")

greet(name="Alice", message="Good morning!")
greet(message="Hi there", name="Bob")
greet("Charlie")


위 코드에서 첫 번째 호출에서는 `name`과 `message`에 각각 `"Alice"`와 `"Good morning!"`을 전달하고, 두 번째 호출에서는 인수의 순서가 바뀌었지만 `name`과 `message`의 값을 각각 `"Bob"`과 `"Hi there"`로 전달합니다. 세 번째 호출에서는 `message`에 기본값이 사용됩니다.

혼합 사용

위치 인수와 키워드 인수를 함께 사용할 수도 있지만, 위치 인수를 먼저 사용해야 하며, 그 이후에 키워드 인수를 사용해야 합니다.

def greet(name, message="Hello!"):
    print(f"{name}, {message}")

greet("Alice", message="Good morning!")
greet("Bob", "Good evening!")


위치 인수와 키워드 인수의 혼합 사용은 코드의 가독성을 높일 수 있으며, 특히 함수가 여러 개의 매개변수를 가질 때 유용합니다.

정리

- 위치 인수: 인수의 순서가 중요한 경우.
- 키워드 인수: 인수의 순서와 상관없이 특정 매개변수에 값을 전달하고 싶은 경우.