Pythonda her değişken bir nesnedir ve bu nesnelerin sahip olduğu veriler farklı tiplerde olabilir.
Python’da 5 temel veri tipi vardır, bunlar sırasıyla;
- Numbers (Sayılar)
- String (Karakter Dizisi)
- List (Liste)
- Tuple (Demet)
- Dictionary (Sözlük)
Python’da veri tipi type(değişkenismi) komutuyla öğrenebiliriz.
Ör :
metin = “Python dersleri”
sayi = 1234
noktali_sayi = 12.67
listem = [31, 28.1, ‘Python öğreniyorum’]
demet = ( 24.82, ‘İstanbul’, 25+4j )
sozluk = {1:’değer’,’anahtar’:2.6}
print(type(metin ))
print(type(sayi ))
print(type(noktali_sayi ))
print(type(listem ))
print(type(demet ))
print(type(sozluk ))
Kod Çıktısı:
<class ‘str’>
<class ‘int’>
<class ‘float’>
<class ‘list’>
<class ‘tuple’>
<class ‘dict’>
Python’da 4 farklı sayı tipi var, bunlar sırasıyla int (tam sayılar; 5, 23, -110, 0x68), long (uzun tam sayılar; 20530588L, 0142L, -0x571324, 0xDEFABCECCESAD), float (ondalık sayılar; 64.23, 22.17+e18, -54.3), complex (karmaşık sayılar; 3.14j, .451j, 42e+25j) sayılardır.
Not : Python, uzun tam sayıları büyük L harfiyle görüntüler. Küçük “l” harfi kullanılmasına izin verir, ancak
1 sayısıyla karıştırılmaması için yalnızca büyük “L” harfi kullanılması önerilir.
Not : Karmaşık bir sayı, x + yj ile gösterilen bir gerçel kayan noktalı sayı çiftinden oluşur; burada x ve y gerçel
sayılardır ve j sanal birimdir
Python string yani metin dizileri tek veya çift tırnakla belirtilen karakter kümeleridir.
- Stringlerde karakter belirtirken 1. karakter “0” olarak alınır. Sondan başlanıyorsa “-1” olarak alınır
- Stringler değiştirilemez (immutable yapılardır).
- Stringlerin bir bölümünü seçmek için köşeli parantezler içinde “[,]” iki nokta “:” işareti kullanılır.
Ör :
str = ‘merhaba dünya’
print(str[2:5]) #Ekrana 3. karaktenden başlayarak 5. karaktere kadar yazdırır sonuç : rha
print(str[3:]) #Ekrana 4. karaktenden başlayarak tüm karakterleri yazdırır : haba dünya
print(str * 2) # Tüm metni 2 kere yazar.
print(str + “ekleme metin”) #iki metini + sembolü ile birleştirip yazdırabiliriz.
Python’da listeler virgüller ayrılmış ve içinde farklı veri tipleri barındırabilen köşeli parantezle belirlenmiş sıralı öğelerdir. Stringlerden farklı olarak değiştirilebilirdirler (mutable), ekleme çıkarma yapılabilir.
Ör :
listem = [12, 23.5 , ‘listenin 3. öğesi’]
print(listem[0]) #12
print(listem[1]) #23.5
print(listem[2]) #listenin 3. öğesi
Not : listeden bir öğeyi degeri çıkarmak için listeadi.remove(ögeadi) komutu kullanılır.
Ör :
listem.remove(12)
print(listem) # [23.5, ‘listenin 3. öğesi’]
Not : remove komutuyla phyton listesinde ilk bulunan değer çıkarılır, eğer birden fazla değer aynı değer varsa diğerleri kalacaktır.
Not : Eğer remove komutu aradığınız değeri listenizde bulamazsa ValueError hatasını alırsınız.
Not: Eğer listeden bir değeri indeks numarasına göre çıkarmak isterseniz pop komutu kullanılır.
Ör :
listem.pop(2)
print(listem) # [12, 23.5]
Listeninin belirli bir kısmını aynı stringlerde olduğu gibi iki nokta üst üsteyle listeleyebilirsiniz.
Ör :
print(listem[0:1]) # [12, 23.5]
print(listem[1:]) # [23.5, ‘listenin 3. öğesi’]
Tuple’lar listeye çok benzerler, listeden farklı olarak köşeli parantez yerine normal parantezle sınırlandırılır ve öğeleri değiştirilemezler. Öğelerin değiştirilemez olması onları listelerden kullanım alanı olarak daha kısıtlı yapsa da aynı zamanda daha hızlı yapar.
Ör :
demetim = ( 12.36, ‘İstanbul’, 27+4j )
Dictionary yani sözlükler süslü parantezler içinde tanımlanan, iki notayla ayrılan anahtar-değer çiftlerinden oluşan sıralı listelerdir. Her anahtar-değer çifti birbirinden virgülle ayrılır. Demetlerden farklı olarak sözlüklere ekleme çıkarma yapılabilir. Çok büyük miktarda veri üzerinde çalışmak için optimize edilmiştir fakat işlem yaparken anahtar değeri bilmek zorunludur.
Ör :
sozluk = {1:’ilkdeger’,’anahtar’: 3.5}
print(sozluk[1]) # ilkdeger
print(sozluk[anahtar]) # 3.5
print(sozluk[3.5]) #KeyError hatası verecektir, çünkü 3.5 değerinde bir anahtar yoktur.