
Merhaba arkadaşlar ,
Sizden ufak bir vaktinizi alacağım muhtemelen çok basit bir detay fakat ya göremedim ya da anlayamadım .
Yukarıdaki kodda da gördüğünüz üzere names.txt adında bir dosyamız var , ve biz while döngüsü yardımıyla bu dosyamızda listelenen isimleri gösteriyoruz . Gelelim kafamı kurcalayan kısma ;
Normal bir durumda While döngüsünün şartına String bir ifade girdiğimizde döngümüz sonsuz bir döngüye giriyor fakat,
(While line) olarak yazdığımızda neden bu durumdan farklı hareket ediyor döngümüz . Evet line değişkenimiz dosyamızdan satır okuyor ve bu okuma işlemini döngü içerisinde tekrar gerçekleştiyor ama bu line değişkenimizin String bir ifade olmasını değiştirmiyor .
Umarım kafama takılan’ı size anlatabilmişmdir anlamadığınız bir yer olursa sorarsanız da sevinirim . Herkese Teşekkürler 
Merhaba,
burada denildiğine göre:
f.readline()
reads a single line from the file; a newline character (\n
) is left at the end of the string, and is only omitted on the last line of the file if the file doesn’t end in a newline. This makes the return value unambiguous; if f.readline()
returns an empty string, the end of the file has been reached, while a blank line is represented by '\n'
, a string containing only a single newline.
yani diyor ki, eğer dosyada okunacak satır kalmamışsa ""
stringini döner. Dikkatini çekerim " "
değil, ""
döner.
Py’de ""
dışındaki bütün stringler true
döner, ""
python’da false
tur.
İstiyorsan python shell’ inde aşağıdakileri çalıştır.
>>bool("")
>>bool(" ")
>>bool("a")
whiie döngüsünün sonsuz olması için daima içinin true olması gerekir. ama line
değişkeni dosya okumamız bitince ""
olacaktır ve döngümüz bitecektir.
İyi geceler.
2 Beğeni
Şimdi oldu işte , teşekkür ederim