Python functools.reduce Fonksiyonu

Arkadaşlar bildiğim üzere reduce a parametre olarak verdiğimiz fonksiyon iki parametre alıyor o zaman bu reduce(lambda x,y:x+y,[1,2,3]) işletildiğinde y ne değeri alıyor fonksiyon içerisinde

reduce(lambda x,y: print(x,y) or x+y,[1,2,3])

yani y en sonda hiç bir değer almıyor öylemi
birde hala lambda içerisinde or un kullanım mantığını kavrayamadım

En sondaki 6 fonksiyonun dönüş değeri, y bir değer almazsa hata alırız.

Normal ordan bir farkı yok:

>>> l = lambda x,y: None or x+y
>>> l(1,2)
3

yani ne diyoruz None değeri döndür yada bunu yap mı ne

birde yazdığınız kodun çıktısı bu

1 2
3 3
6

en sonda (sanıyorum baştakiler x) y yerine boşluk gelmiş

Dediğim gibi o 6 reduce fonksiyonunun dönüş değeri.


or işleci eğer soldaki elemanın bool değeri True ise onu döndürür. Eğer soldaki elemanın bool değeri False ise sağdaki elemanı döndürür.

>>> 4 or 2
4
>>> 0 or 3
3
>>> -1 or 0
-1
2 Beğeni

İkisini de anladım saolun sadece bir şey sorucam madem öyle her ne olursa olsun print()
None döndürecek neden o kodu yazdınız her türlü sağdaki kod işletilecek :thinking:

Olay o zaten :slightly_smiling_face: Hem print fonksiyonunu çalıştırmış olacağız hem de gerekli değeri döndürmüş olacağız.

2 Beğeni