Herkese merhabalar,
Python eğitim serisinin bir önceki yazısında Python programlama diline bir giriş yapmıştık. Öncelikle kısaca tarihçesi, avantajları, hangi şirketlerin Python kullandığı ve hangi uygulamalar Python ile geliştirildiği gibi konulara değindik. Daha sonra Windows işletim sistemi için nasıl kurulduğundan bahsettik. Son olarak temel bilgiler verdik. Bundan önceki yazımız Python: Bölüm 1 – Giriş yazısını daha okumadıysanız bu linke tıklayarak ulaşabilirsiniz.
İçerik:
- Anahtar Kelimeler ve Tanımlayıcılar
- Tanımlayıcı İsimlendirme
- Değişken Atama
- Indentation (Girinti)
- Yorum Satırı Oluşturma
- Veri Tipleri
Bu yazımızda ise temel bilgilere devam edeceğiz ve veri tiplerini kısaca işleyeceğiz. Hadi başlayalım!!
Bu yazıdan itibaren bir süre kodları Google Colaboratory üzerinden yazıcam. Bunun nedeni hem web tabanlı olması hem de daha sonra yazdığımız kodalrı sizinle bir link üzerinden rahatlıkla paylaşabilmek için.
Anahtar Kelimeler ve Tanımlayıcılar:
Anahtar sözcükler, Python’da ayrılmış sözcüklerdir. Bir anahtar kelimeyi değişken adı, fonksiyon adı veya başka bir tanımlayıcı olarak kullanamayız. Python dilinin sözdizimini ve yapısını tanımlamak için kullanılırlar. Aşağıda Python programlama dilinde kullanılan anahtar kelimeleri görebilirsiniz.

Tanımlayıcı ise, classlara, fonksiyonlara ve değişkenlere verilen bir isimdir. Bir fonksiyon veya değişken oluştururken bu fonksiyon ya da değişkenin bir ismi olmak zorunda. Bu isimlendirmeyi yaparken belli kurallara uymamız gerekiyor. Sıradaki bölümde bu kullaradan bahsedeceğiz.
Tanımlayıcı İsimlendirme:
Bütün programlama dilleri için tanımlayıcı (class, fonksiyon veya değişken) isimlendirmeleri için bazı kurallar vardır. Genellikle çoğunda sadece İngilizce karakterlerin kullanılmasına izin verilir. Bu İngilizce karakterlerin yanında bazı diğer karakterlere ve sayılara da izin verilir. Benim tavsiyem daha sonrasında sorun yaşamamak için hangi programlama dilini kullanırsanız kullanın Türkçe karakter kullanmaktan kaçının.
Python’da tüm tanımlayıcıların ilk karakteri [a-z] (a’dan z’ye tüm küçük harfler) – [A-Z] (A’dan Z’ye tüm büyük harfler) – [_] (altçizgi) olarak kullanılabilir. Bunun dışındaki karakterler bir tanımlayıcı için ilk karakter olamaz.
Tanımlayıcılar ilk karakterden sonraki karakterleri ise, küçük harf (a’dan z’ye) veya büyük harf (A’dan Z’ye) veya rakamlardan (0’dan 9’a) veya alt çizgi (_) kombinasyonundan oluşabilir. Örneğin MyClass, var_1 ve print_this_to_screen.
Ayrıca, Python küçük büyük harfe duyarlı bir dildir. Örneğin bir değişken oluştururken “PYTHON” ve “python” birbirinden farklı değişkenler olarak oluşur.


Yukarıdaki kodlarda da görüldüğü gibi doğru bir şekilde tanımlayıcıyı isimlendirmezsek nasıl hatalar alacağımızı gördük.
Böylece tanımlayıcı isimlendirirken nelere dikkat etmemiz gerektiğini öğrendik.
Değişken Atama:
Bir bilgi saklamak için oluşturduğumuz tanımlayıcılara “değişken” adı verilir. python = 3 dersek python isimli bir değişken oluşturmuş oluruz ve 3 değerini saklamasını söyleriz. Daha sonra eğer başka bir değer atamazsak “python” değişkenimiz bize 3 değerini koruyacak, daha sonra istediğimizde bize sunacak ve biz de bununla işlemler yapacağız. Bu sefer a = “python” diyelim. ” a” isimli değişkene “python” isimli bir string atamış olduk. Stringlere birazdan gelicez.
Özetlemek gerekirse, = işaretinin sol tarafı değişken, sağ tarafı ise bu değişkene atanan değerdir.
Python’un güzel yanlarından biri ise değişkenin oluşturulduğu sırada tipini belirtmemize gerek yok. Atanan değere göre değişkenin tipi, otomatik belirleniyor. C gibi dillerde bu böyle değil. Örneğin, int a = 1; gibi değişkenin tipi integer diye önünde belirtmek gerekiyor.
Indentatıon (Girinti):
C gibi programlama dillerinde süslü parantezlerle “{}” kod bloklarını belirtiriz. Örneğin, C dilinde elimizde main adında ana fonksiyon olsun ve basitçe ekrana “hello, world” yazdıralım. Aşağıda görüldüğü gibi kod bloklarını belirtmek için fonksiyonun başına ve sonuna birer süslü parantez koymamız gerekir.

Fakat, Python böyle bir mekanizma kullanmak yerine girinti mekanizmasından yararlanır. Düşey olarak aynı hizada başlayan ardışık kod satırları bir blok olarak çalışır. Daha iç bloklar ise biraz daha sağa hizalanır. Genelde sağa hizalamak için 4 boşluk kullanılır ve bu da bir kere TAB tuşuna basmakla sağlanır.

Yukarıdaki kodda da görüldüğü gibi for döngüsü kullanıldıktan sonra bir alt satıra geçişte boşluk bırakıp sonra for döngüsü içinde ne yapılacağı yazılıyor.
Bu yazım biçimi kod yazma ve okumayı oldukça kolaylaştırıyor. Ayrıca, satır bitimlerinde noktalı virgül (;) kullanmaya gerek duyulmuyor.
Yorum Satırı Oluşturma:
Yazdığımız kodlara her zaman yorum eklemek hayati önem taşıyor. Özellikle uzun bir kod yazarken aralara açıklama eklemek hem bizim için hem de ileride bu kodu okuyacak kişiler için çok önemli. Eğer bu alışkanlığınız yoksa, bir an önce bu alışkanlığı edinmeye bakın.
Yorum satırları kodu derleyen bilgisayar için görmezden gelinen satırlardır. Bu satırlar sadece insanlar içindir.
Python yazılım dilinde # işareti, yazılı olduğu satırdaki kendinden sonraki gelen tüm karakterlerin bir yorum olduğunu anlar. Bazen yazacağımız açıklama tek satıra yetmez, bu gibi durumlarda ardarda 3 adet tek veya çift tırnak (“”) (”) işareti kullanılarak yorum bloğu oluşturulur ve bu blok aynı işaretlerin tekrarlandığı yere kadar sürer. Aşağıda yorum satırı oluşturmak için yapılan örnekleri görebilirsiniz.

Veri Tipleri:
Sayılar: Python dilinde temelde 3 tip sayı vardır: tam sayılar (Integer), kayan noktalı sayılar (float) ve kompleks sayılar.
Integer: Pozitif veya negatif tam sayılar (kesirli kısım olmadan). Sayılar onluk tabanlı ise normal şekilde yazılır. İkili tabanlı ise sayıların başına 0b, sekizlik tabanlı ise 0o ve 16lık tabanda ise 0x eklenir. Örneğin, 0b1100110010, 0o85768912, 0x76AB45DC6 gibi.
Float: Kesirli bir bileşenin bir ondalık sembol veya bilimsel gösterimle gösterildiği, kayan nokta temsiline sahip herhangi bir gerçek sayılara denir. Bunlar ondalık sayılardır. 20.9, 10.0, 34.8 gibi sayılar float veri tipine örnektir.
Kompleks Sayılar: x + yj olarak temsil edilen gerçek ve sanal bileşeni olan sayılara denir. Örneğin, -12.1 + 3.32j kompleks bir sayıya örnektir. Sanal kımındaki j karekök -1’e eşittir.Bildiğiniz gibi gerçek negatif sayıların karekökü yoktur.
a = -12.1 + 3.32j -> a.real = -12.1 – a.imag = 3.32
Boolean: True veya False olmak üzere sadece 2 mantıksal değerlerine sahip veri tipine denir. “T” ve “F” nin büyük harf olduğuna dikkat edin. true ve false geçerli boolean veri tipi değildir ve derleyici hata verir.
Boolean veri tipi genellikle mantıksal değerlendirmeler sırasında kıyaslama yapmak ve işlemleri yönlendirmek için kullanılır.
Karakter Dizileri (Strings): String veri tipi, tek (”) veya çift tırnak (“”) içine yerleştirilmiş bir veya daha fazla karakterden oluşan bir veri tipidir. Tırnak içine girdiğimiz her şey string veri tipindedir. Bu bir rakam veya harf olabilir.
Stringlere toplama ve çarpma gibi bazı aritmetik işlemler uygulamak mümkündür.

Listeler: Listeler (Lists), farklı elemanları ardarda saklayan birimlerdir. Liste elemanları köşeli parantezler arasına, aralarına virgül konarak yazılır. Bu elemanlar değişlirilebilir (mutable) özelliktedir. Elemanlarına erişmek için indisler kullanılır. Farklı tiplerdeki veriler aynı listenin içinde yer alabilir. Mutable özelliği ve dahası ilerleyen bölümlerde daha detaylı anlatılacaktır.

Demetler (Tuples): Parantezler arasına yazılan, elemanları değiştirilemeyen (immutable) veri tiplerine verilen isimdir. Elemanları birbirinden virgül ile ayrılır. Her veri tipi ve veri yapısı bir demetin içinde olabilir. Elemanlarına erişmek için indisler kullanılır. Immutable özelliği ve dahası ilerleyen bölümlerde daha detaylı anlatılacaktır.


Kümeler (Sets): Kümeler özgün elemanlar içerir, tekrarlama olamaz. Süslü parantezler arasına yazılır. Sıralama yoktur. Bir koleksiyon yapısıdır. Elemanlarına tek tek ulaşılamaz.
set() fonksiyonunu kullanarak boş bir küme oluşturmak mümkündür. Ayrıca, bu fonksiyonun içine bir liste girersek, bu liste kümeye çevrilebilir.

Sözlükler (Dicts): Son olarak öğreneceğiz veri tipi sözlüklerdir. Kümeler gibi süslü parantezler arasına yazılır fakat key:value çiftleri olarak yazılır. Elemanlarına erişmek için indis yerine keyler kullanılır. Bu yüzden keyler unique (özgün) dür. Elemanları değiştirilebilir (mutable).

Şimdilik veri tipler bu kadar. İlerleyen bölümlerde immutable veya mutable olması gibi durumları, indis işlemlerini, bu veri yapılarıyla hangi fonksiyonları kullanabileceğimizi daha ayrıntılı bir şekilde işleyeceğiz.
Bu bölümde Python temel bilgilere devam ettik ve kısaca veri tiplerini işledik. Umarım beğenmişsinizdir. Vakit ayırıp okuduğunuz için teşekkür ederim.
Bir önceki bölüme gitmek için bu linke, bu bölümde yazdığımız kodlara erişmek için bu linke tıklamanız yeterlidir.
Kaynakça:
1 – https://www.programiz.com/python-programming/keywords-identifier
2 – https://www.startertutorials.com/blog/introduction-python-programming.html/python-keywords
3 – https://www.tutorialsteacher.com/python/python-data-types
mehmet sefa senbani
Yine harika olmuş elinize sağlık Turhan Bey, devamını sabırsızlıkla bekliyorumm.