Bu bölümde Python programlama dilinin diğer dillere benzeyen ve farklı olan özellikleri anlatılacaktır. Bu bölüm Tanımlayıcılar, ayrılmış kelimeler, girinti kavramı, çoklu satır, tırnak kullanımı, yorum yazma, boş satır oluşturma ve bir satırda çoklu tanımlama gibi konularına ayrılmıştır.
2.1. Python tanımlayıcıları
Bir Python tanımlayıcısı, bir değişken, fonksiyon, sınıf, modül veya başka bir nesneyi tanımlamak için kullanılan bir addır. Tanımlayıcı, A’dan Z’ye veya a’dan z’ye veya alt çizgi (_), ardından sıfır veya daha fazla harf, alt çizgi ve rakam (0’dan 9’a kadar) ile başlar.
Python, tanımlayıcılarda @, $ ve% gibi noktalama karakterlerine izin vermez. Python, büyük küçük harf duyarlı bir programlama dilidir. Örneğin, temp ve Temp iki farklı tanımlamayı temsil eder.
İşte Python tanımlama kuralları:
- Sınıf isimleri büyük harfle başlar. Diğer tüm tanımlayıcılar küçük harfle başlar.
- Tek bir önde gelen alt çizgi ile bir tanımlayıcıyı başlatmak, tanımlayıcının özel olduğunu gösterir.
- İki öncü altçizgi ile bir tanımlayıcıyı başlatmak, çok özel bir tanımlayıcıyı belirtir.
- Tanımlayıcı ayrıca iki izleyen alt çizgi ile bitiyorsa, tanımlayıcı dil tanımlı özel bir addır.
2.2. Python için ayrılmış kelimeler
Python için ayrılmış kelimeler sabit, değişken, fonksiyon, sınıf veya başka tanımlayıcı adları olarak kullanılamaz. Tüm Python anahtar kelimeleri yalnızca küçük harf içerir. Ayrılmış kelimeler:
and, exec, not, assert, finally, or, break, for, pass, class, from, print, continue, global, raise, def, if, return, del, import, try, elif, in, while, else, is, with, except, lambda, yield
2.3. Satırlar ve Girinti
C, Java, C#, Javascript ve vb. programlama dillerinde sınıf tanımları, fonksiyon tanımları ve akış kontrolü için kod blokları oluşturulurken parantez kullanılır. Python ise parantez yerine girinti şeklinde kod bloklarını alır. Girintideki boşluk sayısı kod bloğuna göre değişkendir. Örneğin,
1 2 3 4 |
if True: print("True") else: print("False") |
İç içe if bloklarında girinti sayısına dikkat edilmelidir. Her ne kadar başlangıçta zor gibi olsa da kod okunurluğu arttıran bir teknik olduğu düşüncesindeyim.
Python’daki ifadeler genellikle yeni bir satırla sona erer. Eğer okunurluk bir komut veya değişken tanımı için birden fazla satıra ihtiyaç var ise Python satırın devam etmesi gerektiğini belirtmek için satır devam karakterinin (\) kullanılmasına izin verir. Örneğin,
1 2 3 |
toplam = oge_1 + \ oge_2 + \ oge_3 |
[ ], { } Veya ( ) parantezlerinde bulunan ifadelerin satır devam karakterini kullanmasına gerek yoktur. Basit bir dizi üzerinden örnek verelim:
1 2 |
gunler = ['Pazartesi', 'Salı', 'Çarşamba', 'Perşembe', 'Cuma'] |
2.4. Tırnak kullanımı
Çoğu programlama dilinde string ifadeleri tırnak içine alınır. Python, tek (‘), çift (“) ve üçlü (‘ ” ya da” “) tırnakları kabul eder. Üçlü tırnaklar, dizgiyi birden çok satıra yaymak için kullanılır. Örneğin, aşağıdakilerin tümü çalışır.
1 2 3 4 |
kelime = 'kelime' cumle = "Bu bir cümledir." paragraf = """Bu bir paragraftır. Birden fazla satır veya cümleden oluşmuştur.""" |
2.5. Yorum yazma
Derslerimde en önem verdiğim konulardan biri yorumlardır. Yazdığımız kodları, oluşturduğumuz algoritmaları tekrar bizim veya bir başkasının rahat bir şekilde anlaması için yorum yazmanızda gerekmektedir. Öğrencilerime her zaman söylediğim gibi “Yorum yazmaktan kaçmayın.”.
Çoğu programlama dilinde olduğu gibi Python dili de # karakterini yoruma başlamak için kullanır. Yazdığımız kodlar yorumlanırken bu karakter sonrası ta ki enter karakterine kadar dikkate alınmaz. Çoğunuz enter bir karakter mi diye düşünceye daldınız. Evet, enter tuşuna bastığınızda “\n” gibi ama çoğu editörde gösterilmeyen bir karakter oluşur. ASCII tablosuna bakacak olursak enter karakterinin ASCII karşılığına da görebiliriz. Basit bir örnekle açıklayalım.
1 2 3 |
# Birinci yorum print("Merhaba, Python!") #İkinci yorum #Üçüncü yorum |
Bu kodu terminal ekranında çalıştırdığımızda sadece print ile ilgili olan kısım yorumlanır. Sonuç olarak,
1 |
Merhaba, Python! |
yorumlanıp çıktı olarak terminal ekranına yazılır.
2.6. Boş satır kullanma
Kod bloklarını birbirinden ayırmak için boş satır kullanabiliriz. Python bu satır veya satırları tamamen yok sayar.
2.7. Kullanıcı bekleme
C veya C# (Terminal-Console uygulama) gibi programlama dillerde oluşturulmuş çalışabilen dosya Windows ortamında tıklandığında çalışır ve kapanır. O an terminal ekranına ne yazdığını göremeyiz. Ama bir terminal açıp terminal ekranından aynı dosyaları çalıştırırsak ne yazdığını görebiliriz. Ancak bu da zahmetli bir süreçtir. C’de getch() ve C#’ta ise Console.ReadLine() metotları ile kullanıcının beklemesini sağlayabiliriz. Python’da ise
1 |
input("\n\nÇıkmak için enter tuşuna basın") |
“\n” ile iki yeni satır açtık. Kullanıcı enter tuşuna bastığında program sona erer. Bir uygulama ile bitene kadar bir terminal penceresini açık tutmak için kullanılabilecek güzel bir metottur.
2.8. Tek bir satıra birden fazla ifade yazma
C, C#, Java, Javascript gibi dillerde bir ifade “;” ile bitirilir. Ancak Python’da enter tuşuna basmanız ifadenin bittiği anlamına gelir. Fakat, bu noktada aklımıza birden fazla ifadeyi tek satıra nasıl yazacağımız sorusu aklınıza gelebilir. Bunun için “;” ihtiyaç vardır. Tek satır için tüm ifadelerinizi “;” ile birbirinden ayırabiliriz. Pek tavsiye etmem, ama internette araştırdığımız kodlarda karşılaşabileceğimiz bir durumdur. Sonra “;” nereden geldi diye düşünmeyelim.
1 |
import sys; x = 'foo'; sys.stdout.write(x + '\n') |
Son ifadeye dikkat edelim. Yeni satıra geçileceği için “;” kullanılmamıştır. Ancak, diğer ifadeler arasında “;” vardır.
2.9. Kod bloğuna başlama “:”
Bir grup ifadeyi while, if, def ve sınıf gibi ifadelerden sonra bir başlık satırı, iki nokta üs üsteden sonra kod bloğu gelir. Örneğin,
1 2 3 4 5 6 |
if expression : suite elif expression : suite else : suite |