Yükleniyor...

Fonksiyonun üstüne kılıf

Bir selamlamadan önce yazılan bir satır istiyorsunuz. greet'i kai ile çağırıyorsunuz. Ekrandaki ilk satır door olacak. İkinci satır hi kai olacak.

selamlamadan önce door

python
def announce(fn):
    def wrapped(name):
        print("door")
        return fn(name)
    return wrapped

@announce
def greet(name):
    return "hi " + name

print(greet("kai"))

Ekranda iki satır görünür. İlk satır door'dur. İkinci satır hi kai'dir. print(greet("kai")) yazdınız. Bu çalışma greet içindeki return satırında başlamaz. @announce, greet'in çevresine wrapped koyar, bu yüzden greet("kai") önce wrapped'i çalıştırır. wrapped içindeki print door yazar. Sonra wrapped selamlamayı çalıştırır ve selamlama hi kai döndürür. greet("kai") çevresindeki print bu ikinci satırı yazar. Program biter. Üçüncü satır yoktur.

door selamlama değildir. Selamlama hi kai'dir. greet'in üstünde @announce satırı olmasaydı, print(greet("kai")) yalnızca hi kai yazardı. O program bu değildir. Bu programda @announce var, bu yüzden ilk satır door, ikinci satır hi kai'dir.

Artık bir fonksiyonun çevresine kılıf koyabilirsiniz; böylece fonksiyonun kendi satırından önce bir satır çalışır. Ekranda door, sonra hi kai görünür. Sonraki sayfa bir adın yanına bir tür yazar.

Selamlamadan önce bir satır

wrapped içindeki print door yazar, sonra selamlama hi kai yazar: ekranda iki satır var. Sonraki sayfa bir adın yanına bir tür yazar.

🧠 Bilginizi Test Edin

Başlamaya Hazır

Bilginizi Test Edin

Bu interaktif sınavla kendini test et ve konuyu ne kadar iyi anladığını gör

❓
5
Sorular
🎯
70%
Geçmek İçin
♾️
∞
Süre
🔄
∞
Deneme

📝 Talimatlar

  • Her soruyu dikkatle okuyun
  • Her soru için en iyi cevabı seçin
  • Quiz'i istediğiniz kadar tekrar alabilirsiniz
  • İlerlemeniz üstte gösterilecek