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 or
dan 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
İ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
Olay o zaten Hem print
fonksiyonunu çalıştırmış olacağız hem de gerekli değeri döndürmüş olacağız.