두 번째 접근 방법은 함수 맨 앞에 ranks의 타입이 우리가 원하는 타입인지 검사하는 코드를 추가하는 것이다. ranks가 우리가 원하는 타입이 아니면 예외를 던진다. 이 해법은 보수적인 접근 방법보다 실행 성능이 더 좋을 것이다.
def get_winner(ranks):
if not isinstance(ranks, dict):
raise TypeError("dict 인스턴스를 제공해야 함")
return next(iter(ranks))
get_winner(sorted_ranks)
>>>
Traceback ...
TypeError: dict 인스턴스를 제공해야 함