Ana içeriğe atla
Python
Veri Bilimi

Python Veri Tipleri Açıklaması: Yeni Başlayanlar İçin Rehber

Farklı Python veri tiplerini ve bunları etkin şekilde nasıl kullanacağınızı öğrenin.
Moez Ali's photo
Moez Ali
Güncel · 15 dk. oku

Yapay Zeka ile Keşfedin

ChatGPTClaudePerplexity

Ücretsiz Hesabınızı Oluşturun

Alıştırma and program your progress.

Google Ile Devam Edin
Devam ederek Kullanım Şartlarımızı, Gizlilik Politikamızı ve verilerinizin ABD’de saklandığını kabul etmiş olursunuz.

Python, 2025’te en çok kullanılan programlama dillerinden biridir; sadeliği, okunabilirliği ve veri bilimi, yapay zeka ve makine öğrenimi için kütüphane ve çerçeve ekosistemiyle övgü toplar.

Ayrıca Python, çok sayıda veri tipini destekler; bu da onu karmaşık problemleri çözmek ve verileri işlemek için harika bir araç yapar. Geliştiricilerin gerçek dünyada işe yarar uygulamalar oluşturmasına yardımcı olur.

Bu yeni başlayanlar için hazırlanan blog yazısında, temel Python veri tiplerine bakacağız. Her birinin benzersiz özelliklerini, ne zaman kullanılacağını keşfedecek ve her biri için pratik örnekler sunacağız.

Python Veri Tiplerine Genel Bakış

Python’daki veri tipleri, belirli veri türlerini ve işlemleri ele almak üzere uyarlanmış birkaç kategoriye ayrılır. 

Bu kategorileri anlamak yalnızca teorik bir egzersiz değil; verimli ve hatasız kod yazmanıza yardımcı olacak pratik bir beceridir. Doğru veri tipini seçmek, bellek kullanımı, hesaplama hızı ve kodun anlaşılabilirliği üzerinde önemli etki yaratabilir. 

Şimdi bu kategorileri ayrıntılı biçimde, kullanım alanlarına ve uygulamalarına vurgu yaparak inceleyelim.

Yerleşik veri tipleri

Python çeşitli yerleşik veri tipleri sunar. Aşağıdaki tablo, bu veri tiplerini kullanımını bir bakışta anlamanıza yardımcı olacak şekilde sınıflandırır:

Kategori

Veri tipleri

Sayısal

int, float, complex

Dizi

str, list, tuple

Eşleme

dict

Küme

set, frozenset

Boolean

bool

NoneType

NoneType

Dinamik tiplendirme

Python bir dinamik olarak tiplendirilen programlama dilidir; bu, bir değişkeni tanımlarken tipini açıkça belirtmenize gerek olmadığı anlamına gelir. Bunun yerine Python yorumlayıcısı, değişkene verilen değere göre tipi dinamik olarak belirler ve atar. 

Python’un nasıl farklılaştığını anlamak için, Java gibi statik olarak tiplendirilen bir dille karşılaştıralım. 

Java’da, aşağıda gösterildiği gibi, her değişkenin tipini açıkça belirtmeniz gerekir:

int x = 10;   // Integer
double y = 10.5; // Float
String z = "Hello"; // String

Buna karşılık Python, tipi belirtmeden doğrudan değer atamanıza izin verir; bu da onu daha esnek ve özlü kılar:

x = 10  # Integer
y = 10.5  # Float
z = "Hello"  # String

Ancak bu esneklik, çalışma zamanında istenmeyen tip değişikliklerine karşı dikkatli olmayı gerektirir; aksi halde hatalara yol açabilir. 

Dinamik tiplendirme, özellikle sadelik ile gücü dengelemesi nedeniyle, Python’un yeni başlayanlar arasında bu kadar popüler olmasının nedenlerinden biridir. 

Şimdi tüm veri tiplerine ayrıntılı olarak bakalım.

1. Sayısal Veri Tipleri

Python, farklı türde sayısal değerleri ele almak üzere çeşitli sayısal veri tipleri sunar.

1.1. Tamsayılar (int): 

Kesirli kısmı olmayan, pozitif veya negatif tam sayılar. 

Bunlar sayım veya ayrık ölçümleri temsil eden temel sayısal değerlerdir. 

Kayan noktalı sayılardan farklı olarak tamsayılar kesinseldir ve yaklaşıklık içermez; bu da onları, indeksleme veya öğe sayma gibi hassasiyetin önemli olduğu senaryolar için ideal kılar.

age = 25

1.2. Kayan noktalı sayılar (float):

Ondalık noktaya sahip veya üstel biçimde yazılan sayılar. 

Bu değerler; finansal hesaplamalar, bilimsel ölçümler ve grafik programlama gibi kesirli hassasiyet gerektiren senaryolarda yaygın olarak kullanılır. 

Kayan noktalı sayılar, üstel gösterim kullanarak son derece büyük veya küçük değerleri de temsil edebilir; bu da onları çeşitli sayısal uygulamalar için çok yönlü kılar.

price = 19.99

1.3. Karmaşık sayılar (complex): 

Gerçel ve sanal kısımdan oluşan sayılar. Karmaşık sayılar, sanal sayılarla yapılan işlemlerin yaygın olduğu elektrik mühendisliği, fizik ve işaret işleme gibi alanlarda kullanışlıdır.

Python karmaşık sayıları a + bj biçiminde temsil eder; burada a gerçel kısmı, b ise sanal kısmı ifade eder. Bu yerleşik destek, başka dillerde harici kütüphaneler veya özel uygulamalar gerektirebilecek hesaplamaları basitleştirir.

z = 2 + 3j

2. Dizi Veri Tipleri

Sayıların ötesinde, Python ayrıca sıralı öğe koleksiyonlarını saklayan dizi veri tipleri de sunar.

2.1. String’ler (str):

Tek veya çift tırnak içine alınmış karakterlerin sıralı dizileri. String’ler, metin tabanlı verileri saklamanıza ve işlemenize olanak tanıyan, Python’daki en esnek veri tiplerinden biridir. 

Kullanıcı girdilerini işleme, mesajlar oluşturma veya büyük metin veri kümelerini işleme gibi görevlerde sıkça kullanılırlar. 

Python, .lower(), .upper(), .replace() ve .split() gibi çeşitli yerleşik yöntemler sunar; bu da string’lerle çalışmayı oldukça verimli kılar.

greeting = "Welcome to Python!"

2.2. List’ler (list):

List’ler, farklı veri tiplerinden öğeleri tutabilen, sıralı ve değiştirilebilir koleksiyonlardır. 

Bu esneklik, list’leri Python’da en sık kullanılan veri tiplerinden biri yapar; basit depolamadan karmaşık veri işleme görevlerine kadar uygundurlar. 

List’ler dinamik olarak yeniden boyutlandırılabilir ve dilimleme, ekleme ve kaldırma gibi çeşitli işlemleri destekler; bu da onları sıralı ve değiştirilebilir verilere ihtiyaç duyulan senaryolar için başvurulan bir yapı haline getirir.

fruits = ["apple", "banana", "cherry"]

2.3. Tuple’lar (tuple):

Sıralı, değiştirilemez (immutable) öğe koleksiyonları. Tuple’lar, değiştirilemezliğin önemli olduğu sabit veri kümelerini saklamak için sıklıkla kullanılır; örneğin coğrafi koordinatlar, RGB renk kodları veya veritabanı kayıtları. 

List’lerden farklı olarak tuple’lar oluşturulduktan sonra değiştirilemez; bu da veri bütünlüğünün kritik olduğu durumlarda onları daha hızlı ve daha güvenli kılar.

dimensions = (1920, 1080)

3. Eşleme Veri Tipleri

Diziler sıralı öğe koleksiyonlarını saklarken, Python ayrıca anahtarlarla değerleri ilişkilendiren eşleme veri tipleri de sağlar. En yaygın kullanılan eşleme tipi sözlüktür.

3.1. Sözlükler (dict)

Anahtar-değer çiftlerinden oluşan koleksiyonlar; anahtarlar benzersiz ve değiştirilemezdir. 

Sözlükler son derece esnektir ve sayısal indekslere güvenmek yerine anlamlı anahtarlar kullanarak verileri verimli biçimde düzenlemenize ve getirmenize olanak tanır. Bu da onları, JSON nesneleri veya yapılandırma ayarları gibi yapılandırılmış verileri temsil etmek için özellikle kullanışlı kılar. 

Python sözlükleri; anahtar-değer çiftleri ekleme, güncelleme veya silme gibi çeşitli işlemleri de destekler; bu da onları birçok programlama senaryosunda vazgeçilmez bir araç yapar.

person = {"name": "Alice", "age": 30}

4. Kümeler

Dizi ve eşlemelere ek olarak, Python belirli bir sırası olmayan benzersiz öğe koleksiyonlarını saklayan küme veri tiplerini de sunar.

4.1. Set’ler (set)

Sırasız ve benzersiz öğe koleksiyonları. Set’ler, verinizde yinelenen öğeler olmamasını sağlamanız gereken durumlarda, örneğin üyelik testi veya bir listeden tekrarların kaldırılması gibi, özellikle kullanışlıdır. 

Birleşim, kesişim ve fark gibi matematiksel işlemleri destekler; bu da onları, veri kümeleriyle ilgili problemleri çözmede güçlü araçlar haline getirir.

unique_numbers = {1, 2, 3, 4, 5}

4.2. Donmuş set’ler (frozenset)

Bir set’in değiştirilemez sürümüdür; yani oluşturulduktan sonra öğeleri değiştirilemez. 

Donmuş set’ler, bir sözlükte anahtar olarak set kullanmak ya da değişmemesi gereken verinin bütünlüğünü sağlamak gibi benzersiz öğelerden oluşan hash’lenebilir bir koleksiyona ihtiyaç duyduğunuz senaryolarda kullanışlıdır. 

Birleşim ve kesişim gibi matematiksel işlemleri destekleme gibi normal set’lerin tüm özelliklerini korurken, ek olarak değiştirilemezlik avantajı sunarlar.

immutable_set = frozenset([1, 2, 3])

Bunun hakkında daha fazla bilgi edinmek için, Python Set’leri ve Kümeler Kuramı üzerine hazırlanan harika eğitimi inceleyin.

5. Boolean Veri Tipi

Birçok programlama senaryosunda doğruluk değerlerini temsil etmeye ihtiyaç duyarız. Python, karar verme ve kontrol akışında rol oynayan Boolean veri tipini sağlar.

5.1. Boolean

Mantıksal değerler: True veya False. Bu değerler, koşullu ifadeler ve döngüler gibi karar verme süreçlerinde sıklıkla kullanılır. 

Boolean’lar, koşullara dinamik biçimde tepki veren kod yazmanızı sağlayarak programlamada kontrol akışının temelini oluşturur. 

Python’da Boolean değerleri karşılaştırmalardan (örn. 5 > 3 ifadesi True döndürür) veya mantıksal işlemlerden (örn. True and False ifadesi False döndürür) de elde edilebilir.

is_active = True

6. NoneType

Sayısal, dizi, eşleme, küme ve Boolean tiplere ek olarak, Python değerin yokluğunu temsil etmek için özel bir veri tipi içerir.

6.1 None (NoneType)

Bir değerin yokluğunu veya null değeri temsil eder. 

None tipi genellikle yer tutucu, başlatılmamış değişkenler veya açıkça bir şey döndürmeyen fonksiyonların varsayılan dönüş değeri olarak kullanılır. 

Özellikle bir işlemin sonuç üretmeyebileceği veya bir değişkenin başlangıç değeri olmadan tanımlanması gerektiği durumlarda kullanışlıdır.

result = None

Gelişmiş Veri Tipleri ve Harici Kütüphaneler

Temel yerleşik tiplerin ötesinde, Python daha özel kullanım durumlarını ele almak için gelişmiş veri tipleri de sunar. En yaygın tiplere bakalım.

1. Bayt nesneleri

Bayt nesneleri, dosyalar, multimedya ve ağ paketleri dahil ikili verileri işlemek üzere özel olarak tasarlanmıştır. Bu veri tipleri, metin dışı verilerle çalışırken özellikle kullanışlıdır. 

bytes tipi değiştirilemezdir ve salt okuma işlemleri için uygundur; bytearray ise değişiklik gerektiğinde kullanılabilecek değiştirilebilir bir alternatiftir. memory view tipi, bir nesnenin dahili veri arabelleğine kopyalama yapmadan erişim sağlar; bu da bellek yoğun uygulamalarda performansı artırır.

data = b"hello"  # Immutable bytes object
mutable_data = bytearray(b"hello")  # Mutable bytearray object
view = memoryview(mutable_data)  # Memoryview of the bytearray

2. NumPy dizileri

NumPy dizileri, sayısal hesaplamalar için tasarlanmış, son derece verimli, çok boyutlu dizilerdir. 

Python list’lerinden farklı olarak NumPy dizileri üstün performans sağlar ve matematiksel işlemler için uyarlanmıştır. Doğrusal cebir, Fourier dönüşümleri ve istatistiksel analiz gibi görevleri güçlendirerek bilimsel hesaplamaların temel taşlarındandır. 

Farklı şekillerdeki diziler üzerinde işlemlere olanak tanıyan yayınlama (broadcasting) desteği sunarlar; bu da çok yönlülüklerini daha da artırır.

import numpy as np

# Creating a 1D array
data = np.array([1, 2, 3, 4])

# Creating a 2D array
data_2d = np.array([[1, 2], [3, 4]])

# Performing element-wise operations
squared = data ** 2

NumPy hakkında daha fazla bilgi edinmek isterseniz, ücretsiz başlangıç seviyesi Introduction to NumPy kursuna kaydolun.

3. Pandas DataFrame’leri

Pandas DataFrame’leri, güçlü veri işleme ve analiz araçları sunan, tablo biçimindeki veri yapılarıdır. Etiketli satır ve sütunlarla, yapılandırılmış verileri ele almayı sezgisel ve verimli hale getirirler.

DataFrame’ler; büyük veri kümelerini filtreleme, gruplama, birleştirme ve toplama gibi görevleri mümkün kılarak veri bilimi iş akışlarının ayrılmaz bir parçasıdır. Ayrıca diğer kütüphanelerle sorunsuz bütünleşir; bu da pandas’ı modern veri analizinde vazgeçilmez kılar.

import pandas as pd

# Creating a simple DataFrame
data = pd.DataFrame({"Name": ["Alice", "Bob"], "Age": [25, 30]})

# Filtering rows based on a condition
adults = data[data["Age"] > 18]

# Adding a new column
data["IsAdult"] = data["Age"] > 18

# show data
data

Notebook’ta görüntülenen bir Pandas DataFrame ekran görüntüsü

Notebook’ta görüntülenen Pandas DataFrame

Kod örnekleri içeren ve pandas ile veri düzenleme için hızlı başvuru niteliğindeki pandas cheat sheet’ine göz atın.

Pandas DataFrame’leriyle gelişmiş veri işleme hakkında daha fazla bilgi edinmek istiyorsanız, ücretsiz Data Manipulation with pandas kursuna kaydolun.

Python’da Tip Dönüşümü

Tip dönüşümü, bir değeri bir veri tipinden başka bir veri tipine dönüştürme işlemidir. Programlamada, işlemlerin doğru şekilde gerçekleştirildiğinden ve verilerin istenen biçimde işlenebildiğinden emin olmak için sıklıkla gereklidir. 

Python’un tip dönüşümünü ele alış biçimi oldukça esnektir ve otomatik (örtük) ile manuel (açık) yöntemler sunar. 

1. Örtük tip dönüşümü

Daha küçük veya daha az hassas bir veri tipi, daha büyük veya daha hassas bir tip ile bir ifadede birleştirildiğinde, Python veri tipini otomatik olarak başka bir tipe dönüştürür. 

Örneğin bir int ile bir float birleştirildiğinde sonuç float olur; bu da hesaplamalar sırasında hassasiyetin kaybolmamasını sağlar.

result = 5 + 3.5
print(result)
>>> 8.5 # This is a float

2. Açık tip dönüşümü

Açık tip dönüşümü veya tip dökümü (casting), int(), float(), str() ve benzeri yerleşik fonksiyonları kullanarak bir değeri bir veri tipinden başka bir tipe manuel olarak dönüştürmenizi sağlar. 

Bu, örtük dönüşümün gerçekleşmediği durumlarda veya sayısal işlemler için açıkça dönüştürülmesi gereken string gibi veri tipleriyle çalışırken kullanışlıdır.

num = int("10")  # Converts string to integer
price = float("19.99")  # Converts string to float
text = str(123)  # Converts integer to string

Python’da Veri Tipleriyle Çalışma İçin En İyi Uygulamalar

Python’un veri tiplerini anlamak sadece ilk adımdır—bunları etkili şekilde kullanmak, temiz, verimli ve sürdürülebilir kod yazmanın anahtarıdır. Veri tipleriyle çalışırken akılda tutulması gereken bazı en iyi uygulamalar şunlardır.

Belirli işler için uygun tipleri kullanın

Görevinizle uyumlu tipleri seçin. Örneğin, benzersiz öğeleri korumanız gerektiğinde set, sıralı veri koleksiyonları için list ve değiştirilemez diziler için tuple kullanın. 

Veri tipleri hakkında bilinçli seçimler yapmak, kodunuzun verimli olmasını ve okunmasının ile bakımının kolay olmasını sağlar.

Girdi tiplerini doğrulayın

Girdi verisinin beklenen tipte olduğundan emin olmak, çalışma zamanı hatalarını önleyebilir ve kod güvenilirliğini artırır. 

Python’un isinstance() fonksiyonu tipleri doğrulamanın kolay bir yoludur. Bu uygulama, kullanıcı formları veya API’ler gibi girdilerin dinamik olarak alındığı uygulamalarda özellikle önemlidir.

if not isinstance(age, int):
    raise ValueError("Age must be an integer")

Karmaşık tipler için kütüphanelerden yararlanın

NumPy ve pandas gibi Python kütüphaneleri, gelişmiş veri işleme ve hesaplama için vazgeçilmezdir.

Gördüğümüz gibi, NumPy sayısal işlemler için hızlı, çok boyutlu diziler sunarken, pandas yapılandırılmış verileri verimli bir şekilde ele alma ve dönüştürmede ustadır. Bu kütüphanelerden yararlanmak, kodunuzun karmaşıklığını önemli ölçüde azaltabilir ve performansını artırabilir.

Sonuç

Python veri tiplerini anlamak, verimli programlama ve veri işleme için ilk adımdır. Veri tipleri, Python’un çok yönlülüğünün temelini oluşturur ve çeşitli veri türlerini kesinlik ve kolaylıkla ele almanızı sağlar.

Python’un yerleşik tiplerine dair bu temelleri öğrenip NumPy ve pandas gibi gelişmiş kütüphaneleri keşfederek, veri bilimi, veri analitiği, finansal analiz, yapay zeka ve daha birçok alandaki gerçek dünya problemlerini çözebilen usta bir Python kullanıcısı olma yolundasınız!

Bilginizi derinleştirmek istiyorsanız, temel Python kavramlarını uygulamalı şekilde ele alan Introduction to Python for Developers kursuna göz atın. Python becerilerinizi sıfırdan yapılandırılmış bir öğrenme yoluyla geliştirmek için Python Data Fundamentals eğitim yolunu değerlendirin.

SSS

Büyük sayısal hesaplamalar için hangi Python veri tipini kullanmalıyım?

Büyük sayısal hesaplamalar için, ondalık değerlerde float, tam sayılarda ise int kullanın. Daha da yüksek hassasiyete ihtiyaç duyarsanız, decimal veya fractions modüllerini değerlendirin.

Python’un veri tipleri bellek kullanımı ve performansı nasıl etkiler?

Farklı veri tiplerinin bellek kullanımı ve performans açısından farklı etkileri vardır. Örneğin, dinamik yapılarından ötürü list’ler tuple’lara göre daha fazla bellek gerektirir; buna karşılık, set’ler büyük veri kümelerinde list’lere göre daha hızlı arama sunar. Göreve uygun doğru tipi kullanmak performansı optimize edebilir.

Python, diğer dillere kıyasla büyük tamsayıları nasıl ele alır?

Sabit boyutlu tamsayı tiplerine sahip birçok dilden farklı olarak Python, keyfi hassasiyetli tamsayıları (int) doğal olarak destekler; yani sayılar taşma olmadan büyüyebilir. Ancak bu, C veya Java gibi dillerdeki sabit genişlikli tamsayı tiplerine kıyasla performans yüküne yol açabilir.

Yapılandırılmış verileri Python’da saklamanın en iyi yolu nedir?

Basit yapılandırılmış veriler için sözlük (dict) genellikle iyi bir seçimdir. Daha karmaşık tablo verileri için pandas.DataFrame gibi harici kütüphaneleri kullanmanız önerilir; çünkü güçlü veri işleme yetenekleri sunar.

Tip kontrolünde neden isinstance() yerine type() tercih edilmelidir?

isinstance(obj, type) kalıtımı destekler; yani alt sınıf örneklerini doğru biçimde tanımlar; oysa type(obj) == type yalnızca tam tip eşleşmelerini yakalar. Bu da isinstance() fonksiyonunu nesne yönelimli programlamada daha esnek ve sağlam kılar.

Python’da defaultdict ile dict kullanımı arasındaki ödünleşimler nelerdir?

defaultdict (collections modülünden) eksik anahtarları varsayılan bir değerle otomatik olarak başlatır ve KeyError oluşmasını engeller. Gruplanmış verilerle çalışırken kullanışlıdır; ancak varsayılanlar dikkatle ele alınmazsa istenmeyen davranışlara yol açabilir.


Moez Ali's photo
Author
Moez Ali
LinkedIn
Twitter

Veri Bilimci, PyCaret'in Kurucusu ve Yaratıcısı

Konular
Python
Veri Bilimi

Bu kurslarla Python hakkında daha fazlasını öğrenin!

Kurs

Python’a Giriş

4 sa
7.1M
Python ile veri analizi temellerini sadece dört saatte öğrenin. Bu çevrimiçi kurs, Python arayüzünü tanıtacak ve popüler paketleri keşfedecektir.
Ayrıntıları GörüntüleKursa Başla

Ücretsiz Hesabınızı Oluşturun

Alıştırma and program your progress.

Google Ile Devam Edin
Devam ederek Kullanım Şartlarımızı, Gizlilik Politikamızı ve verilerinizin ABD’de saklandığını kabul etmiş olursunuz.
Devamını Gör
İlgili

blog

2026’da En Popüler 40 Yazılım Mühendisi Mülakat Sorusu

Algoritmalar, sistem tasarımı ve davranışsal senaryoları kapsayan bu temel sorularla teknik mülakat sürecine hakim olun. Uzman cevapları, kod örnekleri ve kanıtlanmış hazırlık stratejileri edinin.
Dario Radečić's photo

Dario Radečić

15 dk.

blog

Hızlı Sevkiyat İçin Pratik Vibe Kodlama Teknoloji Yığını

Ön uç, arka uç, veritabanları, kimlik doğrulama, depolama, e-posta, test, dağıtım ve izleme için en iyi araçları keşfedin.
Abid Ali Awan's photo

Abid Ali Awan

14 dk.

Eğitim

Python'da Listeyi String'e Nasıl Dönüştürürsünüz

Bu hızlı eğitimde, Python'da bir listeyi string'e nasıl dönüştüreceğinizi öğrenin.
Adel Nehme's photo

Adel Nehme

Eğitim

.gitignore Nasıl Kullanılır: Örneklerle Pratik Bir Giriş

Git deponuzu temiz tutmak için .gitignore’u nasıl kullanacağınızı öğrenin. Bu eğitim; temelleri, yaygın kullanım durumlarını ve başlamanıza yardımcı olacak pratik örnekleri kapsar!
Kurtis Pykes 's photo

Kurtis Pykes

8 dk.

Devamını Gör