Skip to main content

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
    memoryview ve bytearray gibi 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üzden decimal modü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 long veri tipi artık Python 3’te yok. Güncel sürümlerde int zaten 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.