Merhabalar Python ’ da yeniyim ve belgelerde çalışırken böyle bir kodu anlamadım. Kurulum dizini = ‘’ boş karakter yapınca bool(kurulum_dizini) nin değeri 0 yani False oluyor . if not kurulum_dizini olan yerin anlamı bool değeri 0 değilse demek değil mi ? Yani True ise , yani 1 ise , yani değer girilmiş ise Lütfen programı hangi dizine … demesi gerekiyor bu da saçma olmaz mı ? Fakat kodu çalıştırınca bir problem olmuyor ama kodun anlatmak istediğini bir türlü anlayamıyorum özellikle if not kurulum_dizini ne anlama gelir tane tane anlatabilecek olan var mı ? Vakit ayıran arkadaşlara şimdiden çok teşekkür ederim.
Merhaba.
Fotoğraf yerine bahsettiğiniz yerin linkini ve kodu atmanız daha iyi olur.
Hayır, bool
’a çevrilmiş hali False
ise demek. not
işleci False
’ı True
, True
’yı da False
yapar.
>>> not True
False
>>> not False
True
>>> not ""
True
>>> not "."
False
Evet saçma olur.
Aslında bu dediğiniz gibi çalışmadığını gösteriyor zaten
if not bool(kurulum_dizini)
veya kurulum_dizini
’nin bir str
örneği olacağını varsayarsak if kurulum_dizini == ""
anlamına geliyor. Yani “kurulum_dizini
’nin bool
değeri False
ise”.
Bu konuları tekrar gözden geçirin isterseniz:
Cevap ve kaynak için teşekkür ederim . Kaynağa baktım ve yine de anlamadım .
mesela ;
ad = input(“adınızı girin : “)
if not ad :
print(” Lütfen adınızı girin “)
else :
print(” Teşekkürler”)
Adımızı girmezsek bool değeri False olur .
not bool değeri false olanı True yapar bu durumda if not ad : ifadesi True ise anlamına gelmez mi ? True ise lütfen adınızı girin ifadesi de saçma olur hakikaten kafam almıyor .
if not ad : dediğimizde bu ad olan yer sade ad True mu oluyor daha inputla değer almadığımız zaman öyleyse if not ad dediğiniz gibi False olur aldııgm değerde false ise ad gir demesi mantıkldır doğru anladım mı ? Yani if ifadesindeki ad daha inpıtla bir şey girmeden önce o ad True yu mu temsil ediyor yani şöyle mi;
if not bool(ad) == True
En son demek istediğinizi tam anlayamadım, ama input
fonksiyonu klavyede enter
’e basılana kadar değer döndürmüyor. Yani şu yanlış bir düşünce:
Eğer hiçbir şey yazmadan enter’e basarsak ad
değişkeni ""
olur ve bu boş string’in bool
değeri False
, evet.
Evet. Eğer adımızı girmek yerine direkt enter’e basarsak da bu if
çalışmış olacak, saçma olmuyor yani.
Evet çalışacak fakat ad girmedik yani false ; false olan Bool değeri nasıl True olan bloğa giriyor onu anlamadım.
if not ad : burada ad false . not gelince True oldu . true ise bu bloğa girecek ama true değil false
Ben nereyi anlayamadığınızı tam anlamadım ama sanırım kafanız karışmış, etkileşimli kabuktakiki şu örneği inceleyin istiyorsanız:
>>> ad = input()
>>> ad
''
>>> if ad:
... print("isim girildi")
...
>>> if not ad:
... print("isim girilmedi")
...
isim girilmedi
>>> bool(ad)
False
>>> not False
True
>>> not ad
True
Zaten o anlama geliyor. if bloğunun çalışması için içindeki ifadenin değeri True
olmalı.
>>> if True:
... print("if çalıştı")
...
if çalıştı
>>> if False:
... print("if çalıştı")
...
>>> a = "."
>>> if a:
... print("if çalıştı")
...
if çalıştı
>>> if bool(a):
... print("if çalıştı")
...
if çalıştı
>>> if bool(a) == True:
... print("if çalıştı")
...
if çalıştı
>>> bool(a)
True
>>> bool(a) == True
True
Surada cevaplamistim ve hatta biraz tartismistik:
Yani if hede
↔ if bool(hede)
ve not hodo
↔ not bool(hodo)
.
Linklenen belgelerden su da yanlis:
Bilgisayar biliminde her şeyin bir bool değeri vardır.
“Bilgisayar biliminde” degil “Python dilinde” olmasi lazim.