BaşlayınÜcretsiz Başlayın

Fonksiyonlarını etiketle

Bir şeyi etiketlemek, ona etiket görevi gören bir veya daha fazla metin (string) vermek demektir. Örneğin, daha sonra aramak için e-postaları veya fotoğrafları sıkça etiketleriz. Sen de fonksiyonlarını keyfî bir etiket listesiyle etiketlemene izin verecek bir dekoratör yazmaya karar verdin. Bu etiketleri pek çok amaçla kullanabilirsin:

  • Fonksiyon üzerinde kimin çalıştığına dair bilgi ekleyerek, kullanıcıların sorun yaşadıklarında kime danışabileceklerini görmelerini sağlamak.
  • Fonksiyonları "experimental" olarak etiketleyerek, girdilerin ve çıktılarının gelecekte değişebileceğini kullanıcılara belirtmek.
  • Kodun gelecekteki bir sürümünde kaldırmayı planladığın fonksiyonları işaretlemek.
  • Vs.

Bu egzersiz

Python'da Fonksiyon Yazımı

kursunun bir parçasıdır
Kursu Görüntüle

Egzersiz talimatları

  • Döndürülecek decorator() adlı yeni bir dekoratör tanımla.
  • Dekore edilen fonksiyonun üstverisini koruduğundan emin ol.
  • Dekore edilen fonksiyonu çağır ve sonucunu döndür.
  • Yeni dekoratörü döndür.

Uygulamalı interaktif egzersiz

Bu örnek kodu tamamlayarak bu egzersizi bitirin.

def tag(*tags):
  # Define a new decorator, named "decorator", to return
  def ____(____):
    # Ensure the decorated function keeps its metadata
    @____(____)
    def wrapper(*args, **kwargs):
      # Call the function being decorated and return the result
      return ____(____, ____)
    wrapper.tags = tags
    return wrapper
  # Return the new decorator
  return ____

@tag('test', 'this is a tag')
def foo():
  pass

print(foo.tags)
Kodu Düzenle ve Çalıştır