戻り値の型を確認する
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!')