Bir dekoratör tanımlamak
Bir arkadaşın, dekore edilen fonksiyon çağrılmadan önce bir "before" mesajı ve çağrıldıktan sonra bir "after" mesajı yazdıran bir dekoratör üzerinde çalışıyor. Ancak, dekore edilen fonksiyonun nasıl sarmalanacağını hatırlamakta zorlanıyor. print_before_and_after() dekoratörünü tamamlayarak ona yardım et.
Bu egzersiz, kursun bir parçasıdır
Python'da Fonksiyon Yazımı
Egzersiz talimatları
- Dekore edilen fonksiyonu çağır ve konumsal argümanları
*argsolarak geçir. - Yeni, dekore edilmiş fonksiyonu döndür.
Uygulamalı etkileşimli egzersiz
Bu egzersizi bu örnek kodu tamamlayarak deneyin.
def print_before_and_after(func):
def wrapper(*args):
print('Before {}'.format(func.__name__))
# Call the function being decorated with *args
____(*args)
print('After {}'.format(func.__name__))
# Return the nested function
return ____
@print_before_and_after
def multiply(a, b):
print(a * b)
multiply(5, 10)