Dönüş tipini yazdır
Arkadaşlarınla üzerinde çalıştığın bir paketi hata ayıklıyorsun. Fonksiyonlarından birinden dönen verilerle ilgili garip bir şey oluyor ama soruna hangi fonksiyonun neden olduğundan bile emin değilsin. Bazen bir fonksiyonun belli bir şeyi döndüreceğini beklerken başka bir şey döndürmesiyle hataların koda sızabildiğini biliyorsun. Örneğin, bir fonksiyonun bir numpy array döndürmesini beklerken bir list döndürürse, beklenmedik davranışlar görebilirsin. Sorunun bundan kaynaklanmadığından emin olmak için, her çağrıda döndürülen değişkenin tipini yazdıracak print_return_type() adlı bir dekoratör yazmaya karar veriyorsun.
Bu egzersiz
Python'da Fonksiyon Yazımı
kursunun bir parçasıdırEgzersiz talimatları
- Yeni dekore edilmiş fonksiyon olacak iç içe bir fonksiyon,
wrapper()oluştur. - Dekore edilen fonksiyonu çağır.
- Yeni dekore edilmiş fonksiyonu döndür.
Uygulamalı interaktif egzersiz
Bu örnek kodu tamamlayarak bu egzersizi bitirin.
def print_return_type(func):
# Define wrapper(), the decorated function
____ ____(____, ____):
# Call the function being decorated
result = ____(____, ____)
print('{}() returned type {}'.format(
func.__name__, type(result)
))
return result
# Return the decorated function
return ____
@print_return_type
def foo(value):
return value
print(foo(42))
print(foo([1, 2, 3]))
print(foo({'a': 42}))