Kodlama

Değişkenler ve veri tipleri

yas = 18 · print(type(yas))

01

Değişken nedir ve nasıl tanımlanır?

Bilgisayar programları verileri işleyerek çalışır. Bir sayıyı, bir kullanıcının adını ya da bir oyunun puanını bellekte tutup daha sonra kullanabilmek için değişkenlere ihtiyaç duyarız. Değişkeni, üzerine etiket yapıştırılmış bir saklama kutusu gibi düşünebilirsiniz.

Python’da bir değişken tanımlamak için önce değişkene bir isim veririz, ardından tek eşittir işareti (=) koyup saklamak istediğimiz değeri yazarız. Buradaki = işareti matematiksel eşitlik değil, atama operatörüdür; sağdaki değeri alır ve soldaki değişkenin içine koyar.

KısayolDeğişken tanımlarken sağdaki değer hesaplanır ve soldaki isme atanır: puan = 100 satırı bellekte «puan» adında bir yer açar ve içine 100 yazar.

Python’da değişken adlandırırken belirli kurallara uymak zorunludur. Yanlış adlandırma programın çalışmasını durdurur ve sözdizimi hatası (SyntaxError) verir.

KuralGeçerli örnekGeçersiz örnek ve nedeni
Sayı ile başlayamazskor1 = 501skor = 50 (sayıyla başlar)
Boşluk içeremezkullanici_adi = "ali"kullanici adi = "ali" (boşluk var)
Büyük-küçük harfe duyarlıdırSayi ve sayi iki ayrı değişkendir—
Özel simgeler içeremeztoplam_fiyattoplam-fiyat (eksi işareti sayılır)
Python anahtar kelimeleri kullanılamazsinif_adi = "A"class = "A" (class özel kelimedir)

Python topluluğunda değişken adlarında birden fazla sözcük varsa araya alt çizgi koymak (snake_case) standart kabul edilir: kullanici_yasi, ders_notu.

Python Türkçe karakterleri (ç, ğ, ı, ö, ş, ü) teknik olarak kabul etse de uluslararası standartlara uyum ve kodlama hatalarını önlemek için değişken adlarında daima İngiliz alfabesi harfleri kullanılır.

02

Sayısal veri tipleri: int ve float

Python’da sayılar temelde iki ana grupta toplanır: tam sayılar (int) ve ondalıklı sayılar (float). Python bir değişkenin tipini içine yazılan değere bakarak kendisi anlar; bu özelliğe dinamik tipleme denir.

  • int (integer): Kesirli kısmı olmayan pozitif, negatif ya da sıfır sayılardır. Örnek: 0, 42, -15.
  • float (kayan noktalı sayı): Ondalıklı sayılardır. Ondalık basamağı ayırmak için virgül değil nokta kullanılır. Örnek: 3.14, 0.5, -2.0.

Sayılarla temel matematiksel işlemler operatörler aracılığıyla yapılır: toplama (+), çıkarma (-), çarpma (*), bölme (/), tam bölme (//) ve mod / kalan bulma (%).

KısayolPython’da standart bölme işlemi (/) tam bölünse bile daima bir float üretir: 6 / 2 işleminin sonucu 3 değil, 3.0 değeridir.

İşlemOperatörÖrnek kodSonuç ve tip
Bölme/10 / 42.5 (float)
Tam bölme (taban bölme)//10 // 42 (int — sonuç aşağı yuvarlanır; negatifte -7 // 2 = -4)
Kalan (mod)%10 % 42 (int — 10’un 4’e bölümünden kalan)
Çarpma*3 * 412 (int)

Örnek. Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?
a = 15
b = 4
print(a // b + a % b)

  • a // b tam bölmedir: 15 // 4 = 3 (sonuç aşağı yuvarlanır).
  • a % b kalandır: 15 sayısının 4’e bölümünden kalan 3’tür.
  • 3 + 3 = 6.

Cevap6

03

Metinler (str) ve mantıksal değerler (bool)

str (string): Metinsel verileri saklamak için kullanılan veri tipidir. Bir metin tanımlanırken tırnak işaretleri içine alınır. Tek tırnak ('...') veya çift tırnak ("...") kullanılabilir; önemli olan hangi tırnakla başlandıysa onunla bitirmektir.

Tırnak içine yazılan her şey, rakam bile olsa metin kabul edilir. Örneğin yas = 25 bir int iken, yas = "25" bir str tipindedir. Bu ikisi bellekte tamamen farklı saklanır ve farklı davranır.

Metinlerde + operatörü iki metni uç uca ekler (birleştirir). * operatörü ise bir metni bir tam sayıyla çarparak tekrarlar.

  • "Oyun" + "Bitti" ifadesi "OyunBitti" üretir.
  • "Ha" * 3 ifadesi "HaHaHa" üretir.
  • Bir metin ile bir sayıyı + ile doğrudan toplayamazsınız; örneğin "Yaş: " + 18 hata verir.

bool (boolean): Yalnızca iki değer alabilen mantıksal veri tipidir: True (doğru) ve False (yanlış). Baş harflerinin büyük yazılması zorunludur; tırnak içine alınmazlar.

Örnek. Aşağıdaki kod satırları çalıştırıldığında ekrana ne yazdırılır?
mesaj = "Py" + "thon"
tekrar = mesaj * 2
print(tekrar)

  • İlk satırda "Py" ile "thon" birleştirilir: mesaj = "Python".
  • İkinci satırda "Python" metni 2 ile çarpılarak iki kez tekrarlanır: "PythonPython".
  • print fonksiyonu bu metni ekrana basar.

CevapPythonPython

04

type() fonksiyonu ve tip dönüşümü

Bir değişkenin ya da değerin hangi veri tipinde olduğunu öğrenmek için yerleşik type() fonksiyonu kullanılır. Örneğin type(10) komutu <class 'int'> sonucunu döndürür.

Bazen bir veri tipini diğerine dönüştürmemiz gerekir. Bu işleme tip dönüşümü (type casting) denir. Python bu işlem için veri tipinin adıyla aynı olan fonksiyonlar sunar: int(), float() ve str().

Hedef tipFonksiyonÖrnek kodDönüşüm sonucu
Tam sayıint()int("45")45 (metinden int’e)
Tam sayıint()int(8.9)8 (kesir atılır, yuvarlama yapılmaz)
Ondalıklı sayıfloat()float("3.5")3.5 (metinden float’a)
Ondalıklı sayıfloat()float(12)12.0 (int’ten float’a)
Metinstr()str(100)"100" (sayıdan metne)

int("abc") gibi sayıya çevrilemeyen bir metin dönüştürülmeye çalışıldığında Python ValueError hatası verir.

Kısayolint() fonksiyonu ondalıklı sayıyı yuvarlamaz, doğrudan virgülden sonrasını kesip atar: int(7.99) işleminin sonucu 8 değil 7’dir.

Örnek. Aşağıdaki kod bloğunun çıktısı ne olur?
x = "20"
y = 5
sonuc = int(x) + y
print(sonuc)

  • x bir metindir (str) ve değeri "20"dir.
  • int(x) fonksiyonu bu metni tam sayıya dönüştürür: 20.
  • 20 + 5 toplama işlemi matematiksel olarak yapılır: 25.

Cevap25

05

print() ile çıktı alma ve değişkenleri yazdırma

Programımızın ürettiği sonuçları ekranda görmek için print() fonksiyonu kullanılır. print içine birden çok değişken veya değer virgülle ayrılarak verilebilir. Python virgülle ayrılan ögelerin arasına otomatik olarak bir boşluk bırakır.

Örneğin ad = "Deniz" ve yas = 16 değişkenleri tanımlandıktan sonra print("Merhaba", ad, yas) yazıldığında ekranda Merhaba Deniz 16 görünür.

Python 3.6 ile gelen ve değişkenleri metin içine yerleştirmenin en temiz yolu olan yöntem f-string (biçimlendirilmiş metin) yapısıdır. Metnin tırnağının hemen önüne küçük f harfi konur ve değişkenler süslü parantez { } içine yazılır.

YöntemKod örneğiEkrandaki çıktı
Virgül ile yazdırmaprint("Puan:", 95)Puan: 95
f-string ile biçimlendirmepuan = 95
print(f"Puanınız: {puan}")
Puanınız: 95
Metin birleştirme (+)print("Skor: " + str(95))Skor: 95

Metin birleştirmede (+) sayı doğrudan eklenemez, str() ile metne çevrilmek zorundadır. f-string ve virgülde bu çeviriye gerek yoktur.

Örnek. Aşağıdaki kod çalıştırıldığında ekrana ne basılır?
a = 2
b = 3
print(f"{a} kere {b} = {a * b}")

  • f-string içindeki süslü parantezler değerlendirilir.
  • {a} yerine 2, {b} yerine 3 konur.
  • {a * b} ifadesi hesaplanır: 2 * 3 = 6.
  • Oluşan metin ekrana yazdırılır.

Cevap2 kere 3 = 6

İpuçları

Testten önce bunları bil

  1. Tek eşittir atama yapar, eşitlik kontrolü yapmaz

    x = 5 ifadesi x’e 5 değerini yükler. İki değerin eşitliğini sorgulamak için ileride göreceğimiz çift eşittir (==) kullanılır.

  2. Sayı içeren tırnak metin tipindedir

    "10" sayısı bir int değil, str tipindedir. Matematiksel işlemlere girmeden önce int() veya float() ile dönüştürülmelidir.

  3. int() yuvarlama yapmaz, ondalığı keser

    int(4.9) ifadesi 5 değil 4 sonucunu verir. Ondalık basamak ne olursa olsun doğrudan atılır.

  4. Bölme operatörü (/) her zaman float üretir

    8 / 4 işleminin sonucu 2 değil 2.0 float değeridir. Tam sayı sonuç için // operatörü tercih edilmelidir.

  5. Python büyük-küçük harfe duyarlıdır

    Sayac, sayac ve SAYAC üç farklı değişkendir. Tanımladığınız ismi birebir aynı harf düzeniyle çağırmalısınız.

06

Kendini dene

Cevaba dokun — neden öyle olduğunu birlikte görelim.

Aşağıdaki değişken adlandırmalarından hangisi Python kurallarına göre geçerlidir?

Değişken adları sayıyla başlayamaz, boşluk veya tire (-) içeremez. Alt çizgi kullanımı geçerlidir.

Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?
x = 7
y = 2
print(x // y)

// taban (tam) bölme operatörüdür. 7 // 2 işlemi 3.5 sonucunu aşağı yuvarlar ve tam sayı 3 sonucunu verir.

Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?
a = "3"
b = "4"
print(a + b)

Tırnak içindeki değerler string (metin) tipindedir. Metinlerde + operatörü birleştirme yapar, dolayısıyla "3" + "4" = "34" olur.

type(3.14) fonksiyonunun döndürdüğü veri tipi hangisidir?

Nokta içeren ondalıklı sayılar Python’da float (kayan noktalı sayı) tipindedir.

Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?
sayi = int(6.85)
print(sayi)

int() fonksiyonu ondalıklı sayılarda yuvarlama yapmaz; ondalık kısmı tamamen kesip atar, sonuç 6 olur.

Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?
x = 10
x = x + 5
print(x)

Önce sağ taraf hesaplanır: x + 5 = 10 + 5 = 15. Ardından bu değer tekrar x değişkenine atanır, x değeri 15 olur.

Hangisi bir boolean (bool) veri tipinin değeridir?

Python’da boolean değerler True ve False’tur; baş harfleri büyüktür ve tırnak içine alınmazlar.

Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?
kelime = "Kod"
print(kelime * 3)

String bir değer tam sayı ile çarpıldığında o metin belirtilen sayı kadar peş peşe tekrarlanır.

Aşağıdaki kod satırlarından hangisi TypeError (tip hatası) verir?

Python’da bir string ile bir integer doğrudan + operatörü ile birleştirilemez; TypeError üretir. Sayının str(100) yapılması gerekir.

Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?
a = 17
b = 5
print(a % b)

% mod alma operatörüdür ve bölme işleminden kalanı verir. 17’nin 5’e bölümünden kalan 2’dir (17 = 3 * 5 + 2).

Alıştırma bitti — –

Sıradaki konu: Koşullar.

0/10 · soru cevaplandı

Kendini dene