Python) 위치 인자, 키워드 인자

파이썬에서 함수를 호출할 때, 인자(argument)를 전달하는 방법에는 두 가지가 있습니다. 위치인자(Positional Arguments)와 키워드 인자(Keyword Arguments)로 나뉩니다.

1. 위치 인자 (Positional Arguments)

위치 인자는 함수 호출 시 전달하는 인자가 함수 정의에서 매개변수(parameter)의 위치에 따라 매핑되는 방식입니다. 즉, 인자의 순서가 함수 정의에서 매개변수의 순서와 일치해야 합니다. 위치인자를 사용할 때는 인자의 값을 순서대로 전달합니다.
일반적으로 인자를 정의하는 방식입니다.

def greet(name, age):
    print(f"Hello, {name}. You are {age} years old.")

이 함수는 nameage라는 두 개의 매개변수를 받아서 인사말과 나이를 출력합니다. 이제 이 함수를 호출할 때 위치인자를 사용하면 다음과 같습니다.

greet("Alice", 30)

위의 호출은 name에 "Alice"라는 값이, 그리고 age에 30이라는 값이 매핑되어 함수가 실행됩니다.

2. 키워드 인자 (Keyword Arguments)

키워드 인자는 함수 호출 시 인자의 이름을 지정하여 함수 정의에서 해당 이름과 매핑되도록 전달하는 방식입니다. 이를 통해 인자의 순서를 신경 쓰지 않고 명확하게 어떤 값이 어떤 매개변수에 해당하는지 지정할 수 있습니다.

greet(age=30, name="Alice")

이렇게 키워드 인자를 사용하면 인자의 순서와 상관없이 nameage에 대해 명확하게 지정할 수 있습니다. 파이썬에서는 위치인자와 키워드 인자를 혼합하여 사용할 수도 있습니다. 하지만 키워드 인자를 사용하려면 위치인자가 먼저 나와야 합니다.

greet("Bob", age=25)

위의 호출은 name에 "Bob"이라는 위치 인자가 먼저 왔고, age에는 키워드 인자로 25가 전달되었습니다.
하지만, 이렇게 위치 인자와 키워드 인자를 혼합해서 사용하는 방식은 지양하는 것이 좋습니다.

'Python > Python' 카테고리의 다른 글

deque 모듈  (0) 2023.08.30
Python - isinstance()  (0) 2023.08.12
@classmethod 와 @staticmethod  (0) 2023.07.20
@property 데코레이터  (0) 2023.07.01
glob.glob() 함수  (0) 2023.06.11