파이썬에서 함수를 호출할 때, 인자(argument)를 전달하는 방법에는 두 가지가 있습니다. 위치인자(Positional Arguments)와 키워드 인자(Keyword Arguments)로 나뉩니다.
1. 위치 인자 (Positional Arguments)
위치 인자는 함수 호출 시 전달하는 인자가 함수 정의에서 매개변수(parameter)의 위치에 따라 매핑되는 방식입니다. 즉, 인자의 순서가 함수 정의에서 매개변수의 순서와 일치해야 합니다. 위치인자를 사용할 때는 인자의 값을 순서대로 전달합니다.
일반적으로 인자를 정의하는 방식입니다.
예
def greet(name, age):
print(f"Hello, {name}. You are {age} years old.")
이 함수는 name
과 age
라는 두 개의 매개변수를 받아서 인사말과 나이를 출력합니다. 이제 이 함수를 호출할 때 위치인자를 사용하면 다음과 같습니다.
greet("Alice", 30)
위의 호출은 name
에 "Alice"라는 값이, 그리고 age
에 30이라는 값이 매핑되어 함수가 실행됩니다.
2. 키워드 인자 (Keyword Arguments)
키워드 인자는 함수 호출 시 인자의 이름을 지정하여 함수 정의에서 해당 이름과 매핑되도록 전달하는 방식입니다. 이를 통해 인자의 순서를 신경 쓰지 않고 명확하게 어떤 값이 어떤 매개변수에 해당하는지 지정할 수 있습니다.
예
greet(age=30, name="Alice")
이렇게 키워드 인자를 사용하면 인자의 순서와 상관없이 name
과 age
에 대해 명확하게 지정할 수 있습니다. 파이썬에서는 위치인자와 키워드 인자를 혼합하여 사용할 수도 있습니다. 하지만 키워드 인자를 사용하려면 위치인자가 먼저 나와야 합니다.
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 |