a = "False" değerini alan bir string değişkenimiz var. Bunu bool sınıfına convert etmek için, bool(a) ifadesini giriyoruz ve yeni oluşan değer bize bool sınıfında True değerini döndürüyor. Dediğin doğru olmakla birlikte yanlış. Bool sınıfı 2 değer döndürüyor evet, string bir değişkeni bool’a çevirdiğimizde yeni oluşan değer bool tipinde True oluyor.
Evet bir yazım yanlışı mevcut, onu şöyle düzelteyim. “Boolean sınıfında değeri boş olmayan bir string değişken her zaman True dur.”
Eğer mantıktan gidiyorsak, bool olarak False değeri olan integer 0 sayısı bool tipinde etkisizdir, yani hiçtir. Böyle bir mantıkla bakıldığında None tipini de int 0 sayısına a = "" str değişkenini de “hiç” olarak görmek mümkün. Yani bütün hiçler bool’da False değerinde. Başlangıçta bütün “hiçler” False değerini alıyor. 0’dan farklı yani “hiç” olmayan tüm ifadeler başlangıçta True dur. Varlık ve yokluğu tanımlıyor gibi de düşünebilir Bool sınıfı. 1 < 2 varolan bir şeydir bu yüzden “True”. 2<1 var olmayan bir şeydir bu yüzden False
Eğer bu mantıklı olsaydı Bool sınıfı doğru ve yanlışı ölçen bir sınıf olmaktan çıkardı.
bool("")→bool(None)→Falsegibi bir donusum yok yani.
Evet belki görüntüde yok, ama mantıkta böyle bir dönüşüm mevcut.
a) (Bildigim kadariyla) hic bir ifadeyi
NoneType'a ceviren bir degisim yok.
python - Most idiomatic way to convert None to empty string? - Stack Overflow böyle bir bağlantı buldum iş görür mü ?
a = "" değişkeni None değerine sahip string bir değişken değil mi yani? Evet a bir değişken ama aldığı değer boş. b = None ve a != b bu daha da mantıksız.
Edit: bağlantıda None tipinden boş string değerine çevirme fonksiyonu yer alıyor. Herhangi bir ifadenin None tipine çevirileceğini bende düşünmüyorum.