Python lambda

Python işlevleri ve meth

Python Lambda işlevleri, tek satırlı, anonim işlevlerdir. Python'daki lambda ifadeleri, listeleri filtreleme, dize durumlarını dönüştürme veya bir sayıyı çarpma gibi bir ada ihtiyaç duymayan tek satırlı işlevler için kullanışlıdır. 

Benzer bir görevi birden çok kez gerçekleştirecek bir program yazarken, kodunuzu tekrarlamak pratik değildir, çünkü aşağıdaki durumlarda her örneğini güncellemeniz gerekir. görevin çalışma şeklini değiştirmeniz gerekiyordu. Kod tabanınız ne kadar büyükse, bu değişiklikleri yapmak o kadar uzun sürer.

İşlevlerin kullanışlı olduğu yer burasıdır. Python'da, hızlı işlevleri bildirmenizi sağlayan anonim işlev adı verilen özel bir işlev türü vardır: lambda ifadesi.

Bu kılavuz Python'da tekrarlamayı otomatikleştirmek için lambda işlevlerinin nasıl kullanılacağını tartışacaktır. süreçler. Ayrıca, kendi çalışmanızı yazmak için ihtiyacınız olan tüm malzemelere sahip olmanız için, eylem halinde bir lambda işlevine iki örnek vereceğiz.




Fonksiyon Nedir?

Programlamada, işlev, belirli bir görevi gerçekleştiren bir kod bloğudur.

Kodlayıcıların işlevleri kullanmasının büyük bir nedeni, kodlarında tekrarı azaltmaya yardımcı olmalarıdır. Bir işlemi bir işlevde toplarsanız, onu programınızda herhangi bir yerde çağırabilirsiniz. Kodunuzu birden çok kez tekrarlamanız gerekmez.

Bu, geliştiricilerin daha sürdürülebilir kod yazmasına da yardımcı olur. Bu süreçte bir değişiklik yapmanız gerekiyorsa, yapmanız gereken tek şey işlevinizi değiştirmek. Programınıza yeni kopyalanıp yapıştırılan birden çok kod satırında değişiklik yapmanız gerekmez.


Python'da bir işlev örneği:

Katılımcıların %81'i bir eğitim kampına katıldıktan sonra teknik iş beklentileri konusunda daha emin hissettiklerini belirtti. bugün bootcamp.

Ortalama bir bootcamp mezunu, bir bootcamp'a başlamaktan ilk işini bulmaya kadar, kariyer geçişinde altı aydan daha az zaman harcadı.

Bu kodu çalıştırdığımızda, aşağıdakiler döndürülür : Merhaba Arthur.

Bu işlevler yararlı olsa da, dizeler listesindeki her dizeyi küçük harf yapmak gibi basit bir şey yapmak istiyorsanız, bir işlev yazmak oldukça ayrıntılıdır. kodunuzun çalışması için yeni bir işleve bir ad atamanız gerekir. İşte burada lambda işlevleri devreye girer.




Lambda İşlevi nedir?

Bir lambda işlevi isimsiz tanımlanmış bir fonksiyon türü.Bu fonksiyonlar bazı adlara ihtiyaç duymadıkları için adsız işlevler denir. Daha önceki fonksiyonumuz sayHello ismine sahipken ve “def” kullanılarak tanımlanmışken, lambda fonksiyonunun bir ada ihtiyacı yoktur ve “lambda” kullanılarak tanımlanır.

Ana avantajı lambda işlevinin kullanılması, bir satıra yazılabilmesidir. Bu, birden çok kez gerçekleştirmek istediğiniz hızlı bir işleminiz varsa, lambda işlevlerini kullanışlı hale getirir. Lambda işlevinin yardımcı olabileceği birkaç örnek:

  • Sayıyı çarpma
  • Dizeyi büyük veya küçük harfe dönüştürme
  • Listeyi filtreleme

Python'da bir lambda işlevi oluşturmak için sözdizimi burada:

name = lambda argümanları: ifade

Bir lambda işleviyle belirtebileceğiniz argümanların sayısı sınırlı değildir. Python'da bir lambda işlevinin nasıl çalıştığını göstermek için bir örnek üzerinden gidelim. Bir sayıyı yedi ile çarpmak istediğimizi varsayalım. Bunu yapmak için şu işlevi kullanabiliriz:

def multiple_by_seven(sayı): dönüş numarası * 7 yazdır (multiply_by_seven(2))

Bu kodu çalıştırdığımızda aşağıdakiler döndürülür: 14.

Bu kod işe yarasa da çalışmaz. olabildiğince verimli. Fonksiyonumuzun adını ve argümanlarını tanımlayan bir kod satırının tamamını ve bir değer hesaplayıp döndüren başka bir kod satırını harcıyoruz. İşlevimizi daha verimli hale getirmek için bir lambda işlevi kullanabiliriz.


Yukarıdakiyle aynı eylemi gerçekleştiren bir lambda işlevi burada:

multiply_by_seven = lambda n: n * 7 print(multiply_by_seven(2))

Kodumuz şunu döndürür: 14. Gördüğünüz gibi, fonksiyonumuzun çıktısı aynıdır. normal bir işlev yerine bir lambda işlevi kullanmamızdır.Bu durumda:

  • lambda anahtar sözcüğü, bir lambda işlevi bildirdiğimizi gösterir.
  • n, fonksiyonumuzun argümanıdır.
  • n * 7, lambda fonksiyonumuz için belirtilen tek ifadedir.



Lambda Fonksiyonları Ne Zaman Kullanılır?

Lambda fonksiyonları Python'da geniş bir kullanım alanına sahiptir.Son örneğimizde, lambda fonksiyonunu çarpma işlemi için nasıl kullanabileceğinizi gösterdik. T iki numara. Ancak, bilmeniz gereken birkaç yaygın kullanım durumu daha vardır.

Genellikle lambda işlevleri, reduce() işlevi, map() işlevi veya filter() işlevi. Lambda işlevleri bazen tekrarlayan görevleri gerçekleştirmek için liste kavramalarıyla birlikte de kullanılır.

Diyelim ki bir fırınımız var ve bir listeye dayalı olarak sattığımız tüm turtaların bir listesini oluşturmak istiyoruz. sattığımız tüm unlu mamuller. Bunu şu kodu kullanarak yapabiliriz:

baked_goods = ['Blondie','Chocolate Chip Cookie',' Elmalı Turta', 'Pecan Turtası', 'Böğürtlenli Turta', 'Çörek'] pies = filter(lambda pie: "Pie" in turta, baked_goods) print(list(pies))

Kodumuz şunu döndürür:

['Apple Pie', 'Pecan Pie', 'Blackberry Pie']

Bunun nasıl çalıştığını inceleyelim. Kodumuzun ilk satırında unlu mamüllerin bir listesini açıkladık. Ardından, “Pie” kelimesini içeren tüm unlu mamulleri filtrelemek için filter() fonksiyonunu kullandık. filter() işlevi, “baked_goods” belirli bir ölçütü karşılamayan öğeleri listeleyin ve filtreleyin.


Bunu, her dizenin “Pie” içerip içermediğini kontrol eden ve yalnızca bu dize “Pie” içeriyorsa dizeyi döndüren bir lambda işlevi tanımlayarak yaptık.Bu durumda, lambda işlevimiz :

lambda pastası: pastada "Pasta"

Yapabilirsiniz bu örnekte Python lambda işlevlerinin bir ada ihtiyacı olmadığını görün. Geleneksel işlevlerin aksine satır içinde var olabilirler. Bir öğe kriterlerimizi karşılıyorsa, Lambda ifademiz true değerini döndürür; aksi takdirde hiçbir değer döndürülmez.

Son olarak, “pies” değişkenini bir listeye dönüştürüp konsola yazdırıyoruz.Bunu yapıyoruz çünkü filter() özel bir filtre nesnesi döndürüyor, bu yüzden görmek için turtalarımızı list() kullanarak dönüştürmemiz gerekiyor.

"Python.Engineeringsı ihtiyacım olduğu anda hayatıma girdi. çoğu ve hızlı bir şekilde bir bootcamp ile eşleşmeme yardımcı oldu. Mezun olduktan iki ay sonra, hayattaki değerlerim ve hedeflerime uygun hayalimdeki işi buldum!"

Venus, Rockbot'ta Yazılım Mühendisi

< p>Anonim işlevler olarak da bilinen Lambda işlevleri, adsız bir işlev tanımlamanıza olanak tanır.Kodunuzda bir işlemi birden çok kez gerçekleştirmeniz gerekiyorsa kullanışlıdırlar.

Örneğin, bir sayıyı başka bir sayı ile çarpmanız gerekiyorsa, lambda işlevini kullanabilir veya bir listedeki öğeleri filtrelemek için bir lambda işlevi kullanabilirsiniz.





Python lambda: StackOverflow Questions

Tutorials