All() fonksiyonu

İstihza pdf den çalışırken all() fonksiyonunda kafam karıştı.
Açıklamasında;
all() fonksiyonunun görevi, bir dizi içinde bulunan bütün degerler True ise True degeri, eger
bu degerlerden herhangi biri False ise de False degeri döndürmektir. diyor.

0 ve boş karakter dizileri Falsedir.

liste = [’’,1,2]

all(liste) —> False # burası tamam.
ama
a = ‘’
all(a) —> True degeri dönürüyor.

All() fonksiyonu dizi içinde en az bir tane False varsa False döndürür. True’lere bakmaz ki. Bir False yeter False döndürmesi için. Sonuç olarak boş karakter dizisi içinde bir False aradı ve bulamadığı için True döndürdü. [""] olsaydı başkaydı çünkü listede bir tane False görecekti. Ama "" içinde hiçbir olumsuz öğe yok. Ama kendisi olumsuz.

1 Beğeni

all() metodu nesnenin kendisi ile değil içeriği ile igileniyor diyosun. Çok teşekkürler. Anladım :slight_smile:

1 Beğeni

Mesele o kadar karmaşık değil aslında. Şuraya bakarsanız bu metodun boş yinelenebilirlerde True döndürdüğü yazıyor:
https://docs.python.org/3/library/functions.html#all
Boş karakter dizisi de boş bir yinelenebilirdir.

2 Beğeni

Return True if all elements of the iterable are true (or if the iterable is empty).

eğer elemanlar yenilenebilirse true True döndür yada boş ise geri kalanlar ise False bu kadar basit ama eğer içinde 1 tane bile False varsa yine False döndürür.

1 Beğeni

Hepnize ayrı ayrı teşekkürler. istihza pdf sinde o ayrıntı olmadığı için kafama oturmamıştı. Bundan sonra ilk iş python orjinal dökümantasyonuna bakmak sonra sormak :slight_smile:

1 Beğeni

Bence bu dökümantasyon açığını düzeltmelisiniz.

2 Beğeni