Computer >> 컴퓨터 >  >> 프로그래밍 >> Python

파이썬 키워드 인수(Keyword Arguments) 완벽 가이드

키워드 인수(keyword arguments)는 함수 호출과 밀접한 관련이 있는 개념입니다. 함수를 호출할 때 키워드 인수를 사용하면 호출자가 매개변수(parameter)의 이름을 직접 지정하여 값을 전달할 수 있습니다.

이 방식의 가장 큰 장점은 인수의 순서를 자유롭게 바꿀 수 있다는 점입니다. 파이썬 인터프리터가 제공된 키워드를 기준으로 값과 매개변수를 자동으로 연결해 주기 때문입니다.

기본 예제

다음은 키워드 인수를 사용하여 함수를 호출하는 간단한 예제입니다.

#!/usr/bin/python3
# 함수 정의
def printme( str ):
    "이 함수는 전달받은 문자열을 출력합니다"
    print( str )
    return;

# printme 함수를 키워드 인수로 호출
printme( str = "My string" )

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

My string

여기서는 printme() 함수를 호출할 때 인수를 그냥 값으로 넘기지 않고, str = "My string"처럼 매개변수 이름과 함께 전달했습니다. 이렇게 하면 코드의 의도가 더 명확해지고 가독성도 높아집니다.

인수 순서가 중요하지 않은 이유

다음 예제를 보면 개념이 더욱 명확해집니다. 핵심은 매개변수의 순서가 결과에 영향을 주지 않는다는 점입니다.

#!/usr/bin/python3
# 함수 정의
def printinfo( name, age ):
    "이 함수는 전달받은 정보를 출력합니다"
    print( "Name: ", name )
    print( "Age: ", age )
    return;

# 순서를 바꾸어 키워드 인수로 호출
printinfo( age=50, name="miki" )

실행 결과

위 코드를 실행하면 다음과 같은 결과가 출력됩니다.

Name: miki
Age: 50

함수 정의에서는 name이 먼저, age가 나중에 선언되어 있지만, 호출 시에는 age를 먼저 전달했습니다. 그럼에도 불구하고 각 값이 올바른 매개변수에 정확히 대입된 것을 확인할 수 있습니다.

키워드 인수의 장점 정리

- 가독성 향상: 어떤 값이 어떤 매개변수에 들어가는지 코드만 보고 바로 알 수 있습니다.
- 순서 자유: 인수 순서를 외울 필요 없이 원하는 순서대로 전달할 수 있습니다.
- 실수 방지: 여러 개의 인수를 다룰 때 값이 잘못된 매개변수에 들어가는 오류를 줄일 수 있습니다.