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 = TrueYukarı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 (2adgeç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:
yasileYasfarklı değişkenlerdir. - Python’un ayrılmış kelimeleri (
if,for,classgibi) değişken ismi olarak kullanılamaz. - Okunabilirlik için anlamlı isimler tercih edin:
xyerineogrenci_sayisiyazmak 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) # 322. 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.53. 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ılmaz4. 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) # Truetype() 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 TLDikkat: 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: " + 21hata 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,14değil3.14yazı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("")vebool(None)her zamanFalsedöner; bunun dışındaki neredeyse her değerTruesayı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:
ad_soyadadında birstrdeğişkenyasadında birintdeğişkenboy_metreadında birfloatdeğişken (örn. 1.75)universite_ogrencisi_miadında birbooldeğ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.



