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)
→False
gibi 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.