Size bir soru sorayım.
Bu hello fonksiyonu gerçekten bir parametre alırsa ne olur?
Bir dize diyelim.
Ya da bir selamlama.
Ve burada bir tebrik mesajı basılacaktı.
Şimdilik bye'ı kaldıralım.
Koşarsam bu yine de işe yarar mı?
Alo?
Videoyu durdurun ve düşünün.
Hadi öğrenelim.
Hayır.
Bu bir hata.
Videoyu burada duraklatmayı deneyebilir ve bunu çözüp çözemeyeceğinize bakabilirseniz, bunun tartışmalara izin vermesini nasıl sağlayabiliriz?
Bunu beşinci satırda görüyorum.
Beşinci satırda yazıyor.
Hello'da gerekli bir konumsal argüman eksiktir çünkü hello'yu gerçekten çağırdığımızda bir parametre
olmasını bekleriz.
Ama burada ona herhangi bir argüman vermiyoruz.
Bunu nasıl çözebiliriz?
Tek yol basitçe şunu söylemektir.
Açgözlü, değil mi?
Ya da ne istersek onu söyleyebiliriz.
X ve sonra bunu söyleyebiliriz.
Sarmalayıcı işlev parametreyi alır.
Böylece Çalıştır'a tıklarsam.
Hmm.
Satır 13 şimdi bana bir hata veriyor, çünkü şimdi aslında ona bir selam vermemiz gerekiyor, bu yüzden
Çalıştır'a tıklarsam merhaba diyelim.
Tamam.
Bu işe yarıyor.
Umarım bu mantıklıdır.
Doğru.
Arıyoruz.
Merhaba.
ile.
Merhaba.
Yani bu fonksiyon.
Merhaba geçmiş olsun.
O zaman biz?
Argüman olarak x sağını alın.
Kaputun altında dekoratörümün eşittir dekoratörüm dediğini unutmayın.
Ve merhaba.
Doğru.
Yani tek yaptığımız dekoratörümü çalıştırmak.
Alo?
Bu da artık onların rap işlevine dönüşüyor.
Ve rapt fonksiyonunu yaptığımızda, A, ona yüksek bir argüman veririz.
Dolayısıyla rapt işlevi bu parametreyi kabul eder ve ardından işlevi çalıştırır.
Merhaba.
Ancak burada sorulması gereken soru, bir selamlama mesajının kabul ettiği bir emoji de olsaydı ne olurdu?
Yani yazdırıyoruz, selamlıyoruz ve sonra emoji koyuyoruz.
Hmm.
Ne yapacağız?
Yine, başka bir parametre ve ardından başka bir parametre oluşturmamız ve ardından burada, diyelim ki bir gülen
yüz ile çağırmamız gerekir.
Çalıştır'a tıklarsam.
Bu bir dize olmalı.
Çalıştır'a tıklarsam.
Bu işe yarıyor, ancak parametreleri her değiştirmem gerektiğinde bu telaşlı oluyor.
Bunu değiştirmek zorundayım.
Peki ya şöyle anahtar kelime argümanlarımız olsaydı.
Varsayılan değer.
Merhaba.
Aslında burada kullanabileceğimiz ve işleri bizim için gerçekten çok basit hale getiren bir model var.
Yaptığımız tek şey, daha önce gördüğümüz ve tüm pozisyon argümanlarını alan yıldız yaylarını ve ardından tüm
anahtar kelime argümanlarını alan yıldız yıldız anahtar kelime yaylarını yapmak ve fonksiyonu şu şekilde çağırmaktır.
Tüm konumsal argümanları açmak için Singh yıldız yayları ve tüm anahtar kelime argümanlarını açmak için yıldız yıldız anahtar
kelime yayları.
Şimdi, eğer bu kafa karıştırıcı görünüyorsa, endişelenmeyin.
Bu sadece kopyalayıp yapıştırabileceğiniz ve hatırlayabileceğiniz bir kalıptır.
Ama şimdi şuna bir bakın.
Emoji eşittir, diyelim ki üzgün surat yapabiliyorum.
Anahtar kelime argümanı olarak.
Ve şimdi eğer geçersem.
Merhaba.
Bunun gibi ve vur kaç.
Bunu da kaldıralım.
İhtiyacımız olmadığından, dekoratörümüz olduğu için hello'yu düzgün bir şekilde çağıracağız ve ardından çalıştır'a tıklayacağız.
Şuna bak.
Üzgün suratla kafayı buluyorum.
Şimdi, buna dekoratör denmesinin nedeni, programlamada ünlü bir model olmasıdır.
Buna dekoratör modeli denir.
Bu da dekoratör modeli.
Dekoratörümüze esneklik kazandırır, böylece yıldız yayları ve anahtar kelime yayları kullanarak ve daha sonra bunları bir fonksiyonun
içinde bu şekilde açarak rapt fonksiyonumuza istediğimiz kadar argüman aktarabiliriz.
Ve bu sözdizimi, diyelim ki print deyimlerimiz bile olmasaydı, dekoratörlerin bu kadar güçlü olmasının nedeni
bu sözdizimidir.
Sadece bu kod satırlarını kullanarak, fonksiyonlarımızı süslemek için dekoratör modelini kullanarak işlevsellik ekleyebiliyoruz.
Ve dekoratör kalıpları programlamanın her yerinde kullanılır.
Yani bu çok ama çok güçlü bir kavram.
Dekoratör dersini bitirmek için.
Sizlere dekoratörlerin yararlı olabileceği bazı yollardan ve kodumuzda dekoratör modellerini göreceğimiz bazı yaygın
konumlardan bahsetmek istiyorum ve fonksiyonlarımızın nasıl performans gösterdiğini, ne kadar
hızlı olduklarını bize söyleyebilecek kendi performans dekoratörümüzü oluşturacağız.
Ve size söz veriyorum, bunun sonunda video dekoratörleri sizin için anlamlı olacak ve diğer insanlara ve
diğer arkadaşlarınıza programlarımızda neden dekoratör kullanmamız gerektiğini açıklayabileceksiniz.
Onda görüşürüz.
Güle güle.