가변 길이 키워드 인자(**kwargs)를 사용하는 함수
이제 유연한 인자에 대해 더 깊이 들어가 볼게요. 이미 *args를 사용해 보셨으니, 이번에는 **kwargs를 사용할 차례예요! **kwargs의 차별점은 함수에 가변 개수의 키워드 인자를 전달할 수 있다는 점이에요. 이전 영상에서 다뤘듯이, 함수 정의 내부에서 kwargs는 딕셔너리입니다.
이 개념을 더 잘 이해하기 위해, 이번 연습에서는 **kwargs를 사용해 가변 개수의 키워드 인자를 받는 함수를 정의해 보겠습니다. 이 함수는 영화 속 캐릭터의 상태를 출력하는 단순한 상태 보고 시스템을 흉내 냅니다.
이 연습은 강의의 일부입니다
Python 함수 입문
연습 안내
- 함수 이름
report_status로 함수 헤더를 완성하세요. 이 함수는 단일 유연 인자**kwargs를 받습니다. kwargs의 키-값 쌍을 순회(iterate)하면서 키와 값을 콜론 ':'으로 구분해 출력하세요.- 첫 번째
report_status()호출에서는 다음 키워드-값 쌍을 전달하세요:name="luke",affiliation="jedi",status="missing". - 두 번째
report_status()호출에서는 다음 키워드-값 쌍을 전달하세요:name="anakin",affiliation="sith lord",status="deceased".
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
# Define report_status
def ____(____):
"""Print out the status of a movie character."""
print("\nBEGIN: REPORT\n")
# Iterate over the key-value pairs of kwargs
for ____, ____ in kwargs.items():
# Print out the keys and values, separated by a colon ':'
print(____ + ": " + ____)
print("\nEND REPORT")
# First call to report_status()
# Second call to report_status()
report_status(name=____, affiliation=____, status=____)