"Enter"a basıp içeriğe geçin

Python’da Lambda işlevleri nasıl kullanılır – Linux Önerileri

Bu makale, Python’da Lambda işlevlerinin nasıl kullanılacağını açıklar. Lambda işlevleri, kısa tek satırlar yazmak, mantık uygulamak ve diğer ifadelere beslenebilecek dönüş değerlerini hızla almak için kullanılabilir.

Lambda işlevleri hakkında

Python’daki Lambda işlevleri, ifadenin kendisinde uygulanan hesaplamalara dayalı olarak bir tür değer döndüren ifadeler oluşturmak için kullanılabilen anonim, anonim işlevlerdir. Bu lambda fonksiyonlarındaki mantık genellikle kısa ve öz bir şekilde yazılabilir ve kolayca tek bir satıra sığdırılabilir. Özellikle insanlar Lambda işlevlerine aşina değilse, okumak bazen zor olabilir. Ancak, her şeyi kod blokları içinde bir arada tutma ve bağlamı daha iyi anlamaya yardımcı olma avantajına sahiptirler.

lambda fonksiyonlarının sözdizimi

Python’da bir Lambda işlevinin sözdizimi şöyle görünür:

şok =lambda xVe p: x * p

Lambda ifadesinin iki nokta üst üste (:) işaretinden önceki ilk kısmı parametreleri bağımsız değişken olarak alır. İki noktadan sonraki ikinci kısım bir dönüş değeri olmalıdır. Bu dönüş değeri bir Boole ifadesi de olabilir. Aslında, Lambda işlevleri neredeyse her zaman sağlanan argümanlara biraz mantık uygulamak ve ardından nihai sonucu döndürmek için kullanılır.

Yukarıdaki Lambda işlevini test etmek için aşağıdaki ifadeyi kullanabilirsiniz:

Aşağıdaki çıktıyı almalısınız:

Aynı lambda işlevi şu şekilde yazılır:

Tanılama şok (xVe y):
dönüş x * p
matbaa(şok(3Ve4))

Her iki kod örneği de aynı çıktıyı verecektir. Lambda fonksiyonlarının bazı örnekleri aşağıda gösterilmiştir.

Lambda işlevlerini bağımsız değişken olarak geçirin

Hesaplamalar yapmak ve dönüş değerini diğer işlevlere bağımsız değişken olarak sağlamak için lambda işlevlerini kullanabilirsiniz. Python’daki sort yöntemi, sıralama amacıyla tek bir bağımsız değişken alan çağrılabilir bir işlev tanımladığınız bir ‘anahtar’ bağımsız değişkeni alır. Önce bir anahtar döndüren ayrı bir işlev tanımlayıp ardından bağımsız değişkene işlev referansı sağlamak yerine, bir Lambda işlevi kullanabilirsiniz.

meyve =[(2,‘elmalar’),(4,‘portakal’),(3,‘muz’)]
meyve.Çeşit(anahtar=lambda öğe: öğe[0])
matbaa(meyve)

Yukarıdaki kod aşağıdaki çıktıyı üretecektir:

[(2, ‘elma’), (3, ‘muz’), (4, ‘portakal’)]

Lambda’yı, çağrılabilir bir işlevi bağımsız değişken olarak alan herhangi bir yöntemde kullanabilirsiniz (filtre yöntemi gibi).

Liste Kavramalarında Lambda işlevlerini kullanma

Liste anlamalarda Lambda’yı kullanabilirsiniz ve Lambda ifadesinin döndürdüğü değerlerin uygun bir listesi oluşturulur.

get_square =lambda A: A*a
Kutular =[get_square(x)için x içindeAralık(5)]
matbaa(Kutular)

Bu, aşağıdaki çıktıyı üretecektir:

Yukarıdaki kod örneği, lambda işlevine argüman olarak ‘x’ vererek aşağıdaki gibi de yazılabilir:

Kutular =[(lambda x: x * x)(x)için x içindeAralık(5)]
matbaa(Kutular)

Bu örnek, liste kavramalarında Lambda işlevlerinin kullanımını gösterir. Aksi takdirde, minimum liste anlama ifadesini kullanarak kareleri kolayca hesaplayabilirsiniz:

matbaa([x * x için x içindeAralık(5)])

Python sözlüklerinde lambda işlevlerini kullanma

Aşağıdaki kod örneği, bir Python sözlüğünde anahtar değerler için kullanılan Lambda işlevlerini gösterir. Tanımlandıktan sonra, bu işlevleri istediğiniz zaman çağırabilirsiniz.

Hesaplamak ={‘toplam’: lambda aVe B: A + BVe‘fark’: lambda aVe Kapı}
matbaa(Hesaplamak[‘toplam’](4Ve5))
matbaa(Hesaplamak[‘fark’](4Ve5))

Yukarıdaki kodu çalıştırdıktan sonra aşağıdaki çıktıyı almalısınız:

çözüm

Lambda işlevleri, kısa ifadeler yazmanın ve çok sayıda çağrılan işlev oluşturmadan her şeyi düzenli ve düzenli tutmanın mükemmel bir yolunu sağlar. Ancak Lambda işlevlerinin aşırı kullanılması, özellikle kod birden fazla kişi tarafından görüntüleniyorsa kodun okunmasını zorlaştırabilir. Okunabilir bir koda sahip olmak (ayrıntılı olsa bile), tekrarlanan ziyaretlerde anlaşılması biraz zor olabilecek bir şeye sahip olmak daha iyidir.

Diğer gönderilerimize göz at

[wpcin-random-posts]

İlk Yorumu Siz Yapın

Bir yanıt yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir