Menu

Python Veri Tipleri: int, float, str, bool, list, dict ve Daha Fazlası

Python'un yerleşik veri tiplerine kısa bir tur — sayılar, string'ler, boolean'lar, None, liste, tuple, set, dict — örnekler ve her biri için ne zaman başvuracağın.

Tipler Neden Önemli

Bir tip, Python'a bir değerin nasıl davranması gerektiğini söyleyen bir kategoridir. İki tam sayıyı toplamak aritmetik anlamına gelir; iki string'i toplamak birleştirmek anlamına gelir; bir string'e tam sayı eklemek bir hatadır. Bir değerin tipi, onda hangi işlemlerin anlamlı olduğunu belirler.

Python'un küçük, dostça bir yerleşik tipler kümesi vardır. Bunlardan dördünü — int, float, str, bool — yazdığın neredeyse her programda kullanırsın. Geri kalanı, verileri koleksiyonlar halinde düzenlemeye başladığında ortaya çıkar.

Sayılar: int ve float

İki tür sayı var ve Python sana hangisini vereceğini nasıl yazdığına bakarak seçer:

main.py
Output
Click Run to see the output here.

Ondalık nokta yok mu? Bir int alırsın. Ondalık nokta var mı? Bir float alırsın. Aritmetik onları serbestçe karıştırır — bir float içeren herhangi bir işlem bir float üretir:

main.py
Output
Click Run to see the output here.

Python'daki tam sayılar belleğinin izin verdiği kadar büyük olabilir — taşma yok, sabit 32 ya da 64 bit tavanı yok. 2 ** 1000 hesaplayabilirsin ve Python sana her basamağı geri verir.

Float'lar her dilde olduğu gibi IEEE 754 kurallarını izler, bu da birkaç klasik sürprize yol açar:

main.py
Output
Click Run to see the output here.

Bu 0.3 değil 0.30000000000000004 yazar. Python hatası değil — her dilde ikili kayan noktalı aritmetik böyle çalışır. Kesin ondalıklara ihtiyacın olduğunda (örneğin para için) decimal modülüne başvur. Diğer her şey için görüntüleme sırasında yuvarlama genellikle yeterlidir.

String'ler: str

String'ler karakter dizileridir. Tek tırnak ya da çift tırnakla sar — açılış ve kapanış tırnağı eşleştiği sürece Python hangisini kullandığına aldırmaz:

main.py
Output
Click Run to see the output here.

Üçlü tırnaklı string'ler (""" ... """) birden fazla satıra yayılır:

main.py
Output
Click Run to see the output here.

String'lerin zamanla öğreneceğin devasa bir API'si var — dilimleme, .upper(), .split(), .replace() gibi metotlar ve sana f"Hello, {name}" veren f-string biçimlendirmesi. Hemen ardından string'lere ayrılmış ayrı bir sayfa var.

Boolean'lar: bool

Tam olarak gösterildiği gibi yazılmış iki değer — True ve False, başta büyük harfle. Karşılaştırmalar boolean üretir:

main.py
Output
Click Run to see the output here.

Perde arkasında True ve False aslen 1 ve 0'dır; bu da kaç koşulun doğru olduğunu saymak istersen boolean'ları toplayabileceğin anlamına gelir:

main.py
Output
Click Run to see the output here.

None: Değerin Yokluğu

None, Python'un "değer yok" demesinin yoludur. Açıkça bir şey döndürmeyen fonksiyonlar None döner. Ayrıca bir yer tutucu olarak da kullanırsın:

main.py
Output
Click Run to see the output here.

Kural, is None ve is not None ile test etmektir — == None ile değil. is kimlik kontrolü yapar ve aslında kastettiğin budur.

List, Tuple, Set, Dictionary

Bunlar dört yerleşik koleksiyon tipidir. Her biri kendi sayfasında ayrıntıyla ele alınır; ama tanıyabilmen için hızlı bir taslağı burada:

main.py
Output
Click Run to see the output here.

Genel kurallar:

  • List: değişmesini beklediğin bir dizi. Eklemek, çıkarmak, sıralamak — hepsi tamam.
  • Tuple: değişimden korumak istediğin bir dizi. Genellikle (x, y) koordinatları gibi sabit biçimli kayıtlar için kullanılır.
  • Set: tekrarın bir hata olacağı benzersiz öğelerden oluşan bir torba.
  • Dict: anahtara göre arama. JSON şeklindeki yapı.

Tipler Arası Dönüşüm

Python, riskli olacağında senin için tipleri otomatik olarak dönüştürmez. Bir tam sayıyı string'e ya da string'i sayıya çevirmek istediğin şeydir, talep etmen gerekir:

main.py
Output
Click Run to see the output here.

Bir dönüşüm mantıklı değilse — örneğin int("hello") — Python ValueError fırlatır ve ona ne beslediğini söyler. Hata, açıklanmış, düzelt ve devam et.

Tip Kontrolü

Bilmeye değer iki araç:

main.py
Output
Click Run to see the output here.

type() REPL'de hızlı bir bakış için harikadır. isinstance() gerçek kodda kullandığın şeydir; çünkü kalıtımla iyi anlaşır ve aynı anda birden fazla tipe karşı kontrol edebilir.

Hızlı Bir Tanıtım Alıştırması

Aşağıdaki bloğu olduğu gibi çalıştırmayı dene, sonra birkaç değeri değiştir ve tiplerin neye dönüştüğüne bak:

main.py
Output
Click Run to see the output here.

for'u henüz anlamana gerek yok — oraya geleceğiz — ama bu sana yerleşik tiplerin bir bakışta hissini verir.

Veriye Uyan Tipi Seç

Şimdi her tipi ezberlemek zorunda değilsin. Bir tanesini gördüğünde tanıyabilmelisin ve veri oluştururken doğrusunu seçebilmelisin. "Bu sabit mi değişir mi? Benzersiz mi değil mi? Anahtarla mı pozisyonla mı arıyorum?" Bu dört soru vakaların yüzde doksanında koleksiyon tipini seçer.

Sırada: string'lere derinlemesine — çünkü neredeyse her programda temas edeceğin tek veri tipi onlardır.

Sıkça Sorulan Sorular

Python'daki ana veri tipleri nelerdir?

Sayılar (int ve float), string'ler (str), boolean'lar (bool), None ve dört koleksiyon tipi — list, tuple, set ve dict. Python kodunda gördüğün diğer her şey bunların artı bir avuç daha (bytes, complex, frozenset) üzerine inşa edilmiştir.

Python'da bir değerin tipini nasıl kontrol ederim?

type() ile sar: type(42) <class 'int'> döner, type('hi') <class 'str'> döner. Doğru/yanlış kontrolü için isinstance(value, int) kullan — alt sınıfları da ele aldığı için daha esnektir.

Python statik mi dinamik mi tiplidir?

Dinamik tiplidir. Bir değişken herhangi bir türde değere işaret edebilir ve aynı değişken yaşam boyunca tip değiştirebilir. Bu, Java ya da C++ gibi dillerden farklıdır; onlarda değişkenin tipini bir kez tanımlarsın ve değiştiremezsin.

Coddy ile kodlamayı öğren

BAŞLA