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.
| Kural | Geçerli örnek | Geçersiz örnek ve nedeni |
|---|---|---|
| Sayı ile başlayamaz | skor1 = 50 | 1skor = 50 (sayıyla başlar) |
| Boşluk içeremez | kullanici_adi = "ali" | kullanici adi = "ali" (boşluk var) |
| Büyük-küçük harfe duyarlıdır | Sayi ve sayi iki ayrı değişkendir | — |
| Özel simgeler içeremez | toplam_fiyat | toplam-fiyat (eksi işareti sayılır) |
| Python anahtar kelimeleri kullanılamaz | sinif_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.
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.
| İşlem | Operatör | Örnek kod | Sonuç ve tip |
|---|---|---|---|
| Bölme | / | 10 / 4 | 2.5 (float) |
| Tam bölme (taban bölme) | // | 10 // 4 | 2 (int — sonuç aşağı yuvarlanır; negatifte -7 // 2 = -4) |
| Kalan (mod) | % | 10 % 4 | 2 (int — 10’un 4’e bölümünden kalan) |
| Çarpma | * | 3 * 4 | 12 (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
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" * 3ifadesi"HaHaHa"üretir.- Bir metin ile bir sayıyı
+ile doğrudan toplayamazsınız; örneğin"Yaş: " + 18hata 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
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 tip | Fonksiyon | Örnek kod | Dö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) |
| Metin | str() | 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
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öntem | Kod örneği | Ekrandaki çıktı |
|---|---|---|
| Virgül ile yazdırma | print("Puan:", 95) | Puan: 95 |
| f-string ile biçimlendirme | puan = 95 | 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
Testten önce bunları bil
- 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.
- 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.
- 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.
- 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.
- 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.
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?
Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?x = 7
y = 2
print(x // y)
Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?a = "3"
b = "4"
print(a + b)
type(3.14) fonksiyonunun döndürdüğü veri tipi hangisidir?
Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?sayi = int(6.85)
print(sayi)
Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?x = 10
x = x + 5
print(x)
Hangisi bir boolean (bool) veri tipinin değeridir?
Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?kelime = "Kod"
print(kelime * 3)
Aşağıdaki kod satırlarından hangisi TypeError (tip hatası) verir?
Aşağıdaki kod parçası çalıştırıldığında ekrana ne yazdırır?a = 17
b = 5
print(a % b)
Alıştırma bitti — –
Sıradaki konu: Koşullar.
0/10 · soru cevaplandı