반환 유형 확인하기
Python은 데이터 유형에 관해 유연하다는 점이 언어의 장점으로 자주 언급됩니다. 하지만 잘못된 데이터 유형이 눈치채지 못한 채 지나가면 문제가 되기도 해요. 코드가 정확히 의도한 대로 동작하는지 확인하기 위해, 모든 함수의 반환 유형을 명시적으로 검사하고 기대하는 값을 반환하는지 확인하려고 합니다. 이를 위해, 데코레이터가 적용된 함수의 반환 유형이 올바른지 확인하는 데코레이터를 만들겠습니다.
참고: assert는 어떤 조건이 참인지 테스트할 때 사용하는 키워드입니다. assert condition에서 condition이 True이면 아무 일도 일어나지 않습니다. condition이 False이면 오류가 발생합니다. 이때 발생하는 오류의 유형은 AssertionError입니다.
이 연습은 강의의 일부입니다
Python으로 함수 작성하기
실습형 인터랙티브 연습
이 예제를 이 샘플 코드를 완성하여 풀어보세요.
def returns_dict(func):
# Complete the returns_dict() decorator
def wrapper(____):
result = ____
assert type(result) == dict
return result
____
@returns_dict
def foo(value):
return value
try:
print(foo([1,2,3]))
except AssertionError:
print('foo() did not return a dict!')