‫Tekrar hoş geldiniz.
‫Sizinle fonksiyonel programlama paradigması içinde düşünmemizi sağlayan bazı faydalı fonksiyonlar hakkında
‫konuşmak istiyorum.
‫Bu işlevlerin adı harita filtresidir.
‫Zip.
‫Ve azalt.
‫Ve bunlar bir Python programcısı olduğunuzda çokça yazacağınız çok kullanışlı, çok yaygın fonksiyonlardır.
‫Şimdi bunları inceleyelim.
‫İlk olarak Harita ile başlayacağız.
‫Ve harita aslında burada sahip olduğumuz iki ile çarpma kodunu basitleştirmemizi sağlar.
‫Harita ile görüyorsunuz, bunu bir işlev olarak, yerleşik bir işlev olarak kullanabiliyorum.
‫Burada ilk parametreye bir fonksiyon verdiğimizi ve ikinci parametrenin bir yinelenebilir olduğunu görüyoruz.
‫Bunu düşünmenin iyi bir yolu, burada bir tür eylemde bulunmak istediğimizdir.
‫Yani bir fonksiyon ve ardından üzerinde işlem yapmak istediğimiz veriler.
‫Diyelim ki bizim durumumuzda, bir, iki, üç.
‫Peki hangi eylemi gerçekleştirmek istiyoruz?
‫Bir, iki, üç.
‫İki ile çarpmak istiyoruz, o yüzden çarp diyelim.
‫İkiye kadar.
‫Şimdi bunu aşağı taşımam gerekiyor çünkü önce fonksiyonu tanımlamamız gerekiyor.
‫Ve şu şekilde çalıştır.
‫Bunu basmak yerine şöyle yapalım.
‫Yazdır.
‫Eğer çalıştırırsam böyle olur.
‫Bu bellek konumunda bir harita nesnesi alıyorum.
‫Ve MAP otomatik olarak bize bu bellekte yarattığı bu nesneyi verir.
‫Bu yüzden onu gerçekten görüntüleyebilmemiz için aşağıdaki gibi bir listeye dönüştürmemiz gerekir.
‫Yani bunu çalıştırırsam.
‫Satırda int'l nesne için yinelenebilir değil diyor.
‫Bunun nedeni, map ile artık bir listeye ekleme yapmak yerine liste oluşturma işlemini yapmamıza gerek kalmamasıdır.
‫Gördüğünüz gibi, haritanın güzel yanı, ona bazı veriler vermem ve daha sonra bu verilerin bunun tarafından harekete geçirilmesidir.
‫Ve map fonksiyonu ile yapmamız gereken tek şey, geri dönen bir fonksiyona sahip olmaktır.
‫Bu parça iki kez.
‫Yani tüm bu kodlara sahip olmak yerine tek yapmamız gereken return demek.
‫Eşya.
‫İki kere.
‫Bu parametreyi item olarak değiştirelim.
‫Ve koda biraz daha ayrıntılı bakın.
‫Bu yüzden harita ile diyorum ki, Hey, işlevi çalıştırmanı istiyorum.
‫İkiyle çarp.
‫Burada parantez bile kullanmadığıma dikkat edin çünkü harita benim için bunu yapıyor dememe gerek yok.
‫Harita sadece "Hey, bana sadece işlevi ver, gerisini ben hallederim" diyor.
‫Yani burada fonksiyonu çağırmıyorum.
‫Harita benim için işlevi çağıracak.
‫Sadece diyorum ki, hey, haritayı böyle aradığımda.
‫Bu işlevi bu bellek adresinde kullanmanızı ve bu verileri kullanmanızı istiyorum.
‫Fonksiyonel programlama paradigmamızı hatırlayın.
‫Elimizde harekete geçirilecek veriler var, bu yüzden bu ikisini birbirinden ayırıyoruz.
‫Şimdi bu fonksiyon aralıklarımızdaki öğelerin her birini alacak.
‫Bizim durumumuzda, ilk seferde bir, sonra iki, sonra üç olacak.
‫Ve sonra tek yapmamız gereken, o öğe üzerinde istediğimiz etkiyi geri döndürmektir.
‫Bizim durumumuzda, iki.
‫Böylece map bu işlevi bizim için otomatik olarak çalıştırır ve yinelenebilirdeki tüm öğeler arasında
‫döngü yapar ve bunu çalıştırırsam listeye dönüştüreceğimiz yeni bir map nesnesi döndürür.
‫Altıya iki mi alacağım?
‫Şimdi, işte işin güzel kısmı.
‫Eğer yaparsam, diyelim ki listem ve ben bir, iki, üç diyorum.
‫Ve buradaki listemi değiştirdim.
‫Bunun gibi.
‫Sonunda da listemi yazdırın.
‫Çalıştır'a tıklarsam.
‫Listemin değişmediğini göreceksiniz.
‫Hatırladın mı?
‫Saf işlev, dış dünyayı etkilemeyen bir işlevdir.
‫Ve bu yol haritası yepyeni bir liste oluşturmamızı sağlar.
‫Bu benim listemi değiştirmez.
‫Yani benim listem değişmez, değil mi?
‫Değiştirmeyeceğiz.
‫Ve tek yaptığı map fonksiyonudur, bununla ilgilenir ve bizim için yeni bir liste döndürür.
‫Ama biz dış dünyayı etkilemiyoruz.
‫Bu işlevde hiçbir yan etki yoktur.
‫Basitçe öğeden öğeye ikiyle çarpıyoruz, ancak bundan yeni bir liste oluşturuyoruz.
‫Ve ona aynı girdiyi her verdiğimizde, aynı çıktıyla sonuçlanacaktır.
‫Çok, çok havalı.
‫Ve harita son derece kullanışlıdır çünkü üzerinde yineleme yapabileceğimiz bir şeyimiz olduğunda ve değiştirmek
‫istediğimizde.
‫Diyelim ki e-postalarımız veya kullanıcı adlarımız var ve kullanıcı adlarını, diyelim ki tamamı büyük harf olacak şekilde güncellememiz gerekiyor.
‫Bu durumda, yineleme yapabilir ve map işlevini kullanarak listemizdeki tüm kullanıcı adlarını diyelim ki büyük harflerle değiştirebiliriz.
‫MAP, programlama kariyerinizde çok kullandığınız fonksiyonlardan biri olacak.
‫Ve umarım burada fonksiyonel programlama paradigmalarını kullanarak ne kadar temiz ve güzel olduğunu görebilirsiniz.
‫Bir sonrakine geçelim.
‫Filtre hakkında konuşalım.
‫Sıradaki.