Değişik Bir 'lambda' Kullanımı

Şurada alıştırma yaparken, şöyle bir lamda kullanımına denk geldim.

>>> (lambda x: (x + 3) * 5 / 2)(3)
15.0

Bunu ve eğer varsa benzer kullanımları açıklayabilecek varmı?

Şimdiden teşekkür ederim. :slight_smile:

Bir lambda Fonksiyonunu Bir Değişkene Atamadan Kullanma

Objeyi oluşturduğumuz anda çağırabiliyoruz. Şuna biraz benziyor aslında

class Bird:
    def say(self):
        print("...")

Bird().say()

tabii burada objeye olan referansımızı kaybediyoruz, tek kullanımlık misali.

Python’da ne kadar yaygın bilmem ama Javascript’te baya yaygın zannedersem
https://stackoverflow.com/questions/7498361/defining-and-calling-function-in-one-step

1 Beğeni

Bu bir lambda fonksiyon.

Bu da solundaki fonksiyonu çağırıyor.

1 Beğeni

Aslında, konuyu açmadan biraz araştırma yapmıştım ama buna denk gelmedim.

Peki bunun gibi bildiğiniz başka ilginç özellikler de varmı?


Ve bence bu kullanım İstihza Belgelerine eklenmeli.

Yani bi nevi, sınıf dışında @property bezeyicisi kullanmak gibi.

lambda’ların "binding"lerinin geç olması da heralde ilginç sayılabilir
https://stackoverflow.com/questions/10452770/python-lambdas-binding-to-local-values

aslında orada 3 galiba x değişkeninin değeri çünkü 3 ile 3 toplamı 6 6 ile 5in çarpımı 30 ve 30un 2ye bölünmüş hali 15 yani 15.0 galiba o (3) x değişkeninin 3 olduğunu gösteriyor

Yazdığınızdan pek bişey anlamadım ama, sonucun float olmasıdan dolayı çözümün şöyle olması gerekir:

x + 3 → 3 + 3 = 6
5 / 2 = 2.5
6 * 2.5 = 15.0

diyorum ki bence o (3) bölümü o x değişkeninin 3 olduğunu belirtiyor

Zaten öyle:

da ne demek yani x değişkenini temsil ediyor diyorsa tamam

x, fonksiyonun istediği parametre; (3) bu da, fonksiyonu x=3 parametresiyle çalıştırıyor.