🔤 Metinler & Mantıksal
Metinler & Mantıksal: String'ler (Metinler) Bir string'i, üzerine dizilmiş boncuklardan oluşan bir kolye gibi düşün — her boncuk (karakter) sırayla durur ve numarasıyla (index) ç
String'ler (Metinler)
Bir string'i, üzerine dizilmiş boncuklardan oluşan bir kolye gibi düşün — her boncuk (karakter) sırayla durur ve numarasıyla (index) çağrılabilir. Şimdi şunu sor: neden Python "string1 + string2" yazınca onları YAPIŞTIRIR ama "string1 - string2" yazınca hata verir? Çünkü "+" boncukları art arda dizmek demek (mantıklı), ama bir koleden boncuk "çıkarmak" tanımsız bir işlem (hangi boncuğu çıkaracaksın, nereden?). Java'da String immutable'dır — bir String'i "değiştirdiğinde" aslında YENİ bir String oluşur, eski hafızada durur. Python'da da aynı: s += "x" yazdığında s'in kendisi değişmez, Python yeni bir string yaratıp etiketi ona taşır. QA'de bu, döngü içinde string birleştirmenin (binlerce gizli kopya oluşturarak) neden yavaş olduğunu açıklar.
Java'da String.charAt(), substring(), indexOf() gibi metodlar kullanılır. Python'da aynı işler için daha kısa ve okunabilir sözdizimi var: s[0], s[1:5], "hello" in s gibi.
Micro Lab: Python kod yazma
TODO satirini beklenen cozumdeki kritik satirla degistir. Bu gercek runtime degil; amac dogru yapinin yazilmasini kontrollu olarak pekistirmek.
Adim Adim: Python kod yazma
Girdi ve veri tiplerini oku
Kritik satiri en kucuk degisiklikle tamamla
Kodu calistirip beklenen ciktiyi karsilastir
Hata varsa traceback veya assertion mesajini oku
Test raporu icin sonucu tekrar kullanilabilir hale getir
Python QA kodunu guvenli calistirma sirasi nedir?
Java ile Karşılaştırma
"Hello"[::-1] ifadesi ne döner?