Python Veri Tipleri
Python’da veri tipleri, bir değişkenin türünü tanımlamak için kullanılır.
Bu yazıda tüm veri tiplerini listeleyecek ve her birinin nasıl çalıştığını inceleyeceğiz.
Eğer Python’a yeni başlıyorsan önce Yeni Başlayanlar için Python Eğitimi kısmına göz atmayı unutma.
Özet Notlar
-
Değiştirilebilir vs. Değiştirilemez (Mutable vs Immutable)
Listeler ve sözlükler istediğin zaman değiştirilebilir ama tuple ve string öyle değildir.
Mesela bir listeye yeni eleman ekleyebilirsin ama bir string’in harflerini tek tek değiştiremezsin. -
Doğru veri tipini seçmek önemli
Her iş için aynı aracı kullanamazsın
Eğer sırayı korumak istiyorsan listeler iyi bir tercih.
Değerler sabit kalsın diyorsan tuple, hızlı üyelik kontrolü için set, anahtar–değer ilişkisi gerekiyorsa dict kullanmalısın. -
Bellek yönetimi
Python arkada referans sayımı ve garbage collection ile çalışıyor.
Yani değişkenler birbirine dolanırsa (referans döngüsü) gereksiz bellek tüketebilir.
Böyle durumlarda context manager ya da weak reference işine yarar. -
Unicode desteği
Python string’leri Unicode’u doğal olarak destekler, yani Türkçe karakterlerden Japonca’ya kadar her şeyi yazabilirsin.
Ama dışarıdan veri alırken encoding ayarını net belirtmek lazım yoksa “çince harf yerine kare” hatası alabilirsin 🙂 -
İleri seviye tipler
memoryviewvebytearraygibi tipler, büyük dosyalarla çalışırken hayat kurtarır.
Hem hafızayı daha az kullanır hem de gereksiz kopyalamaları önler. -
Kesin matematik lazım olduğunda
Finansal hesaplarda virgülden sonra hata olmaması kritik.
Bu yüzdendecimalmodülünü kullan; floating-point sayıların küçük ama can sıkıcı yuvarlama hatalarına takılmazsın.
Python’daki Veri Tipleri
Python’da birçok yerleşik (built-in) veri tipi vardır. İşte en temel olanlar:
- Sayısal (Numeric) →
int,float,complex - Metin (String) →
str - Sıralı Tipler (Sequence) →
list,tuple,range - İkili (Binary) →
bytes,bytearray,memoryview - Eşleme (Mapping) →
dict - Mantıksal (Boolean) →
bool - Küme (Set) →
set,frozenset
Python Sayısal (Numeric) Veri Tipi
Python’da sayısal veri tipleri, farklı türde sayı değerlerini tutmak için kullanılır:
- int → Tam sayıları tutar. Uzunluk sınırı yoktur, çok büyük sayıları bile saklayabilirsin.
- float → Ondalıklı sayıları tutar. Yaklaşık 15 basamağa kadar hassas sonuç verir.
- complex → Karmaşık sayılar (örneğin
3+5j) için kullanılır.
Not:
Python 2’de kullanılan
longveri tipi artık Python 3’te yok. Güncel sürümlerdeintzaten sınırsız uzunlukta tam sayıları destekler.
Python’da değişken tanımlarken C ya da C++’taki gibi veri tipi belirtmene gerek yoktur.
Direkt olarak bir değeri değişkene atayabilirsin.
Ama diyelim ki “Bu değişken şu an hangi veri tipini tutuyor?” diye merak ettin.
O zaman type() fonksiyonunu kullanabilirsin.
# Tam sayı (integer) değişken oluşturma
a = 100
print("Değer:", a, " -> Tipi:", type(a))
# Ondalıklı sayı (float) değişken oluşturma
b = 10.2345
print("Değer:", b, " -> Tipi:", type(b))
# Karmaşık sayı (complex) değişken oluşturma
c = 100 + 3j
print("Değer:", c, " -> Tipi:", type(c))
Değer: 100 -> Tipi: <class 'int'>
Değer: 10.2345 -> Tipi: <class 'float'>
Değer: (100+3j) -> Tipi: <class 'complex'>
Python String Veri Tipi
String, karakterlerin ardışık bir şekilde tutulduğu veri tipidir.
Python, Unicode desteği sayesinde farklı dillerdeki karakterleri de sorunsuzca kullanmamıza izin verir.
Bir string oluşturmak için tek tırnak ('...') veya çift tırnak ("...") kullanabilirsin:
# Çift tırnakla string oluşturma
a = "çift tırnak içindeki string"
# Tek tırnakla string oluşturma
b = 'tek tırnak içindeki string'
# Ekrana yazdırma
print(a)
print(b)
# Virgül (,) ile string birleştirme
print(a, "ile birleştirilmiş", b)
# Artı (+) ile string birleştirme
print(a + " ile birleştirilmiş " + b)
Çıktısı bu şekildedir:
çift tırnak içinde bir string
tek tırnak içinde bir string
çift tırnak içindeki string ile birleştirilmiş tek tırnak içindeki string
çift tırnak içindeki string ile birleştirilmiş tek tırnak içindeki string
Python Liste Veri Tipi
Python’daki liste (list) oldukça esnek bir veri tipidir.
C/C++’taki array yapısına benzer ama önemli bir farkı var:
Python listeleri aynı anda farklı türde verileri tutabilir.
Resmi tanımıyla; liste, köşeli parantezler ([]) içinde
ve virgüller (,) ile ayrılmış, sıralı bir veri grubudur.
# sadece tam sayı içeren liste
a = [1, 2, 3, 4, 5, 6]
print(a)
# sadece string içeren liste
b = ["hasan", "ahmet", "mehmet"]
print(b)
# hem tam sayı hem de string içeren liste
c = ["ali", "hamza", 1, 2, 3, "go"]
print(c)
# indeksler 0’dan başlar. Bu, listedeki tek bir öğeyi yazdırır
print(c[1]) # listede "hamza" ifadesini yazdırır
Python Demet (Tuple)
Tuple (demet), listeye benzeyen bir veri tipidir.
Aradaki fark, değiştirilemez (immutable) olmasıdır.
Yani tuple içindeki veriler sonradan güncellenemez veya silinemez.
Tuple’lar parantez () ve virgül , kullanılarak tanımlanır.
Tuple Örnekleri
# Sadece integer veri tutan tuple
a = (1, 2, 3, 4)
print(a) # tüm tuple'ı yazdırır
# Farklı tipte veriler tutan tuple
b = ("merhaba", 1, 2, 3, "go")
print(b) # tüm tuple'ı yazdırır
# Tuple indeksleri de 0'dan başlar
print(b[0]) # "merhaba" değerini verir
Python Sözlük (Dictionary)
Dictionary (sözlük), verileri anahtar : değer (key : value) şeklinde saklayan bir yapıdır.
Liste veya tuple gibi sıralı değildir, yani unordered çalışır.
Sözlükler süslü parantez {} içinde yazılır ve veriye çok hızlı şekilde ulaşmanı sağlar.
Kısacası büyük veri kümelerinde arama yaparken inanılmaz kullanışlıdır.
Dictionary Örneği
# Örnek bir dictionary değişkeni
a = {1: "ad", 2: "soyad", "yas": 33}
# Anahtara göre değer yazdırma
print(a[1]) # "ad"
print(a[2]) # "soyad"
print(a["yas"]) # 33
Sonuç
Bu yazıda Python’un temel veri tiplerini öğrendik: sayılar, stringler, listeler, tuple’lar ve sözlükler.
Her birinin farklı kullanım alanı var.
Kısacası, Python veri tiplerini doğru kullanmayı bilirsen, hem kodun daha anlaşılır olur hem de programların daha verimli çalışır.
Artık Python’da kendi projelerine başlamak için sağlam bir temel attın.