더북(TheBook)

두 번째 접근 방법은 함수 맨 앞에 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 인스턴스를 제공해야 함