3: Yorumlar ve Metinler

Bir bilgisayar programı kod dili gibi görünmelidir, çünkü bu şekilde komutlarımızı makine dili ile onun anlayacağı şekilde vermiş oluruz. Ama bir kod dilini insanların okuyup anlaması zordur. Bu sorunu aşmak için kodlarn arasına makinenin görmezden geleceği şekilde notlar yazabiliriz. Bu notlara yorum denir: comments.

Python'da # sembolüyle ("pound sign" veya "hash" adı verilir) başlayan satırlar yorum satırıdır. Bu işaretle başlayan satır makine tarafından kod olarak okunmaz. İşte bir örnek:

Example
Yorumun etkisi.

İkinci satır # işaretiyle başladığı için Python bu satırı yok sayar ve gördüğünüz gibi print komutu verdiğimiz hâlde 2 yazdırılmadı. Genelde yorumlar şunları içerir:

  • daha sonra bu programı okuyacaklar için, programın bölümleri hakkında açıklayıcı notlar;
  • uzun bir program yazarken, daha sonra yapılması gerekenlerle ilgili notlar, yapılacaklar listesi;
  • daha sonra tekrar programa eklemek üzere, yazılan kod satırının yorum satırında bekletilmesit ("commenting out").

Burada bir alıştırma yapalım. Eğer kod üzerinde çok fazla değişiklik yaptıktan sonra en başa geri dönmek isterseniz Varsayılana Dön düğmesine basarak programın ilk hâlini görebilirsiniz.

Coding Exercise: İkinci Tahmin
Bu programdaki hataları ayıklayarak (debug) bir haftadaki saniye sayısını yazdırın. İpucu

Stringler

Stringler harf ve rakam dizilerinden oluşur, başka bir deyişle string bir metin parçasıdır.  Her zaman tırnak işaretleri içinde yazılır: örneğin ilk dersteki "Selam, Dünya!" bölümü bir stringdi. Pound işareti # bir string içerisinde kullanıldığında yorum olarak kabul edilmez ve yok sayılmaz:

Example
#  işaretini içeren bir string.

Tırnak işaretleri içerisine yazılan her şey string içeriğidir, bu sebeple de komut olarak değil metin içeriği olarak kabul edilir. Benzer olarak print("3 + 4")  komut satırı 7 sayısını yazdırmaz;  3 + 4 yazdırır, çünkü bu metin içeriğidir, komut değildir.

Kaçış Dizileri

Eğer string yazarken tırnak işaretleri içinde tekrar tırnak " kullanmamız gerekirse? Komutu çalıştırdığımızda print("Ona "Yok artık!" dedim") burada hata oluşur: problem şu ki  Python "Ona "  stringini ve devamında Yok artık! gibi string olmayan bir şey görür. Ama yapmak istediğimiz bu değildi!

Python'da string içinde tırnak işaretleri kullanmak için iki basit yol vardır.

  • Eğer stringi tek tırnak (kesme işareti, apostrof dediğimiz) işaretleri arasına yazarsanız, 'neden olmasın' gibi, stringin içinde tırnak işaretleri kullanabilirsiniz. 'Ona "Yok artık!" dedim.'
  • Tırnak işaretlerinin öncesinde ters taksim işareti (backslash) koyabiliriz (\" or \'). Buna kaçış dizisi (escape sequence) adı verilir. Python taksim işaretini siler ve string içindeki tırnak işaretini kullanır. Bir örnek verelim.
    Example
    Ters taksim tırnak şaretlerini korur ama yazdırılan çıktıda yer almaz.

Ayrıca, kaçış dizileri sebebiyle ters taksim (\) özel bir karakterdir. Bir stringin içinde ters taksim işareti yazmak istiyorsak, ikinci bir ters taksimle kaçışı gerçekleştirmeliyiz; bir diğer deyişle stringin içinde yanyana iki işaret \\  yazmalıyız.

Multiple Choice Exercise: Kaçış Dizileri
Nasıl bir çıktı yazdıracak("Ters taksimler \\ ve kesme işaretleri \' ve de tırnak işaretleri \" ayrıca pound işaretleri # harika!")
Correct!

Coding Exercise: Büyük kaçış
Aşağıdaki cümleyi yazdıracak bir bir program yazın:

Tırnak işareti ters taksim kullanarak kaçtı, şöyle \"
Not: Bunu yapmak için birden faza yol var (her zamanki gibi)! Örneğin, stringi kesme işaretleri arasına yazabilirdiniz. Her hâlukârda kaçış gerekli. Daha fazla pratik için programı her iki yolla da çözmeyi deneyin. Bunu çözmek için  üçüncü bir yol bulabilir misiniz??

Başka kaçış dizileri de var, mesela "satır başı", ama bunu şimdi öğrenmeyeceğiz. Şimdilik isterseniz bir sonraki derse geçebiliriz!