Python'da değişkenler ve veri tipleri: int, float, str, bool kutuları

Bir programda kullanıcıdan alınan bir yaşı, hesaplanan bir toplamı ya da ekranda gösterilecek bir mesajı bilgisayarın hafızasında tutmamız gerekir. İşte tam bu noktada devreye değişkenler girer. Bu yazıda Python’da değişken tanımlamayı, dört temel veri tipini (int, float, str, bool) ve bunlar arasında dönüşüm yapmayı adım adım öğreneceksiniz.

Değişken Nedir?

Değişken, bir değeri bilgisayar hafızasında saklamamızı sağlayan, isimlendirilmiş bir kutu gibi düşünülebilir. Bu kutuya bir isim verirsiniz, içine bir değer koyarsınız ve programınızın herhangi bir yerinde o ismi kullanarak değere ulaşabilirsiniz.

Python’da bir değişken oluşturmak son derece basittir; başka birçok dilin aksine değişkenin tipini önceden belirtmenize gerek yoktur:

yas = 21
pi_sayisi = 3.14
ogrenci_adi = "Ayşe"
ogrenci_mi = True

Yukarıdaki her satırda Python, eşittir işaretinin (=) sağındaki değere bakarak değişkenin tipini otomatik olarak belirler. Buna “dinamik tipleme” (dynamic typing) denir.

Python’da Değişken İsimlendirme Kuralları

Değişken isimlerini seçerken uymanız gereken bazı kurallar ve tavsiyeler vardır:

  • Değişken isimleri harf veya alt çizgi (_) ile başlamalıdır, rakamla başlayamaz (2ad geçersizdir).
  • Sadece harf, rakam ve alt çizgi içerebilir; boşluk veya özel karakter (Türkçe karakterler dahil) kullanılmamalıdır.
  • Büyük/küçük harf duyarlıdır: yas ile Yas farklı değişkenlerdir.
  • Python’un ayrılmış kelimeleri (if, for, class gibi) değişken ismi olarak kullanılamaz.
  • Okunabilirlik için anlamlı isimler tercih edin: x yerine ogrenci_sayisi yazmak kodunuzu çok daha anlaşılır kılar.

Python’daki Dört Temel Veri Tipi

Python’da onlarca veri tipi bulunur, ancak yeni başlayanların önce şu dördünü sağlam biçimde öğrenmesi gerekir:

1. int — Tam Sayılar

int (integer), ondalık kısmı olmayan tam sayıları temsil eder: …, -2, -1, 0, 1, 2, … Yaş, öğrenci sayısı, bir listenin uzunluğu gibi “sayılabilir” büyüklükler genellikle int ile ifade edilir.

ogrenci_sayisi = 32
sicaklik_farki = -5
print(ogrenci_sayisi)   # 32

2. float — Ondalıklı Sayılar

float (floating point), ondalık noktalı sayıları temsil eder. Python’da ondalık ayracı virgül değil noktadır.

not_ortalamasi = 78.5
pi = 3.14159
print(not_ortalamasi)   # 78.5

3. str — Metinler (Karakter Dizileri)

str (string), tek tırnak ('...') veya çift tırnak ("...") içine alınmış metinleri temsil eder. İsim, adres, mesaj gibi her türlü yazı verisi str tipindedir.

ad = "Mehmet"
mesaj = 'Merhaba, dünya!'
print(ad + " " + "Yılmaz")   # Mehmet Yılmaz

4. bool — Mantıksal Değerler

bool (boolean), yalnızca iki değer alabilir: True (doğru) veya False (yanlış). Genellikle bir koşulun sonucunu veya bir durumu (aktif/pasif, geçti/kaldı gibi) ifade etmek için kullanılır.

sinavi_gecti_mi = True
hava_yagmurlu_mu = False
print(5 > 3)   # True

type() Fonksiyonu ile Veri Tipini Öğrenme

Bir değişkenin hangi veri tipinde olduğundan emin değilseniz, Python’un yerleşik type() fonksiyonunu kullanabilirsiniz:

yas = 21
pi_sayisi = 3.14
ad = "Ayşe"
aktif_mi = True

print(type(yas))         # <class 'int'>
print(type(pi_sayisi))   # <class 'float'>
print(type(ad))          # <class 'str'>
print(type(aktif_mi))    # <class 'bool'>

Kodunuzda beklenmedik bir hatayla karşılaştığınızda, ilk yapmanız gereken şeylerden biri şüphelendiğiniz değişkenin tipini type() ile kontrol etmektir.

Veri Tipi Dönüşümleri (Type Casting)

Bazen bir veriyi başka bir tipe dönüştürmeniz gerekir. Örneğin input() ile kullanıcıdan alınan her değer Python’da her zaman str olarak gelir; bunu sayıyla toplamak isterseniz önce int veya float‘a çevirmeniz gerekir. Bunun için dört dönüşüm fonksiyonu kullanılır:

metin_sayi = "25"
sayi = int(metin_sayi)        # str -> int:  25
ondalik = float("3.8")        # str -> float: 3.8
yazi = str(100)                # int -> str:  "100"
mantiksal = bool(1)            # int -> bool: True

print(sayi + 5)    # 30
print(yazi + " TL") # 100 TL

Dikkat: her dönüşüm her zaman mümkün değildir. int("merhaba") gibi bir ifade çalıştırıldığında Python ValueError hatası verir, çünkü “merhaba” kelimesinin sayısal bir karşılığı yoktur.

Yaygın Hatalar ve Çözümleri

  • TypeError: str ile int’i doğrudan toplamaya çalışmak — "Yaşınız: " + 21 hata verir; doğrusu "Yaşınız: " + str(21) ya da f-string kullanmaktır.
  • ValueError: Sayıya çevrilemeyen bir metni int()’e vermek — int("21 yaş") hata verir; metnin yalnızca rakamlardan oluştuğundan emin olun.
  • Ondalık ayıracını virgül yazmak — Python’da 3,14 değil 3.14 yazılmalıdır; virgül kullanmak farklı bir sonuca (bir demet/tuple) yol açar.
  • 0 veya boş metnin “yanlış” (False) sayıldığını unutmak — bool(0), bool("") ve bool(None) her zaman False döner; bunun dışındaki neredeyse her değer True sayılır.

Özet

Bu yazıda değişkenlerin bilgisayar hafızasında değer saklamaya yaradığını, Python’da değişken tipini önceden belirtmeye gerek olmadığını ve dört temel veri tipini (int, float, str, bool) öğrendiniz. Ayrıca type() ile bir değişkenin tipini nasıl öğreneceğinizi ve int(), float(), str(), bool() fonksiyonlarıyla tipler arasında nasıl dönüşüm yapacağınızı gördünüz. Bir sonraki yazıda bu veri tipleri üzerinde işlem yapmamızı sağlayan operatörleri (aritmetik, karşılaştırma, mantıksal) inceleyeceğiz.

Şimdi Sen Dene

💻 Alıştırma: Kendi “Kimlik Bilgisi” Değişkenlerini Oluştur

Bir Python dosyası açın ve kendi bilgilerinizle aşağıdaki dört değişkeni oluşturun:

  1. ad_soyad adında bir str değişken
  2. yas adında bir int değişken
  3. boy_metre adında bir float değişken (örn. 1.75)
  4. universite_ogrencisi_mi adında bir bool değişken

Ardından her birinin tipini type() ile ekrana yazdırın. Sonucunuz aşağıdakine benzer bir çıktı vermeli:

<class 'str'>
<class 'int'>
<class 'float'>
<class 'bool'>

Zorlu ek görev: boy_metre değişkenini str() ile metne çevirip başka bir metinle birleştirerek “Boyum: 1.75 metre” gibi bir cümle ekrana yazdırın.

Kendini Test Et: Veri Tipi Tahmin Oyunu

Aşağıdaki her değerin Python’da hangi veri tipinde olacağını önce kendi kendinize tahmin edin, sonra cevabı görmek için üzerine tıklayın.

Soru 1: notum = 85 ifadesindeki notum değişkeninin tipi nedir?

Cevap: int — 85 ondalık kısmı olmayan bir tam sayı olduğu için int tipindedir.

Soru 2: ortalama = 67.5 ifadesindeki ortalama değişkeninin tipi nedir?

Cevap: float — Ondalık noktası bulunan her sayı Python’da float olarak saklanır.

Soru 3: numara = "12" ifadesindeki numara değişkeninin tipi nedir?

Cevap: str — Tırnak içine alınan her şey, içinde rakam olsa bile Python için bir metindir (string).

Soru 4: derse_devam = 10 > 15 ifadesindeki derse_devam değişkeninin tipi nedir?

Cevap: bool — Karşılaştırma ifadelerinin (>, <, == gibi) sonucu her zaman True veya False, yani bool tipindedir. (Bu ifadenin değeri False‘tur, çünkü 10, 15’ten büyük değildir.)

Soru 5: yas = int("21") ifadesinden sonra yas değişkeninin tipi nedir?

Cevap: int — Başlangıçta "21" bir str olsa da, int() fonksiyonu onu tam sayıya dönüştürür; sonuçtaki yas değişkeni artık int tipindedir.

Scroll to Top