Dönüş türünü kontrol et
Python'ın veri türleri konusundaki esnekliği genelde dilin avantajlarından biri olarak gösterilir. Ancak bazen yanlış veri türleri fark edilmezse sorunlara yol açabilir. Kodunun tam olarak istediğin şeyi yaptığından emin olmak için, tüm fonksiyonlarındaki dönüş türlerini açıkça kontrol etmeye ve beklediğin türde döndüklerinden emin olmaya karar verdin. Bunu yapmak için, süslenen fonksiyonun dönüş türünün doğru olup olmadığını kontrol eden bir dekoratör oluşturacaksın.
Not: assert, bir şeyin doğru olup olmadığını test etmek için kullanabileceğin bir anahtar sözcüktür. assert condition yazıp condition True ise, bu ifade hiçbir şey yapmaz. condition False ise bir hata fırlatır. Fırlattığı hata türüne AssertionError denir.
Bu egzersiz
Python'da Fonksiyon Yazımı
kursunun bir parçasıdırUygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
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!')