Bir önceki yazıda değişkenleri ve dört temel veri tipini (int, float, str, bool) öğrendik. Ancak değerleri sadece saklamak yetmez; onlar üzerinde toplama, karşılaştırma ya da mantıksal birleştirme gibi işlemler de yapabilmemiz gerekir. İşte bunu sağlayan araçlara operatör denir. Bu yazıda Python’daki üç temel operatör grubunu — aritmetik, karşılaştırma ve mantıksal — örneklerle inceleyeceğiz.
Aritmetik Operatörler
Aritmetik operatörler, sayılar üzerinde matematiksel işlem yapmamızı sağlar:
+— Toplama-— Çıkarma*— Çarpma/— Bölme (sonuç her zamanfloatdöner)//— Taban bölme / tam sayı bölme (ondalık kısmı atar)%— Mod alma (bölümden kalan)**— Üs alma
a = 17
b = 5
print(a + b) # 22
print(a - b) # 12
print(a * b) # 85
print(a / b) # 3.4
print(a // b) # 3
print(a % b) # 2
print(a ** 2) # 289// ve % birlikte çok kullanışlıdır: örneğin bir öğrenci topluluğunu eşit gruplara ayırırken kaç tam grup oluşacağını // ile, kaç kişinin gruplara sığmadan kalacağını ise % ile bulabilirsiniz.
Karşılaştırma Operatörleri
Karşılaştırma operatörleri iki değeri kıyaslar ve sonuç olarak her zaman bir bool (True ya da False) döndürür:
==— Eşit mi?!=— Eşit değil mi?>— Büyük mü?<— Küçük mü?>=— Büyük veya eşit mi?<=— Küçük veya eşit mi?
notum = 65
gecme_notu = 60
print(notum == gecme_notu) # False
print(notum != gecme_notu) # True
print(notum >= gecme_notu) # True
print(notum < gecme_notu) # FalseDikkat: tek eşittir (=) bir değeri değişkene atamak için, çift eşittir (==) ise iki değeri karşılaştırmak için kullanılır. Bu ikisini karıştırmak yeni başlayanların en sık yaptığı hatalardan biridir.
Mantıksal Operatörler
Mantıksal operatörler, birden fazla koşulu birleştirmemizi sağlar. Python'da üç mantıksal operatör vardır: and, or ve not.
and— Her iki koşul da doğruysaTruedöner.or— Koşullardan en az biri doğruysaTruedöner.not— Bir koşulun tersini alır (True'yuFalse'a çevirir, tam tersi de olur).
yas = 20
ogrenci_mi = True
print(yas >= 18 and ogrenci_mi) # True
print(yas < 18 or ogrenci_mi) # True
print(not ogrenci_mi) # FalseÖrneğin bir üniversite sisteminde "öğrenci indiriminden yararlanabilir mi?" sorusunu yas >= 18 and ogrenci_mi gibi tek bir mantıksal ifadeyle cevaplayabilirsiniz.
Operatör Önceliği (İşlem Sırası)
Tıpkı matematikte olduğu gibi, Python'da da operatörlerin bir öncelik sırası vardır: önce **, sonra *, /, //, %, ardından + ve -, en son da karşılaştırma ve mantıksal operatörler değerlendirilir. Sırayı ezberlemek yerine, karışıklığı önlemek için parantez () kullanmak çok daha güvenlidir:
print(2 + 3 * 4) # 14 (önce çarpma yapılır)
print((2 + 3) * 4) # 20 (parantez önceliği değiştirir)Yaygın Hatalar ve Çözümleri
=ile==karıştırmak —if yas = 18:yazmakSyntaxErrorverir; karşılaştırma içinif yas == 18:kullanılmalıdır./ile//karıştırmak —7 / 2sonucu3.5(float),7 // 2sonucu ise3'tür (tam sayıya yuvarlamaz, ondalık kısmı atar).- Farklı tipleri doğrudan karşılaştırmak —
"5" == 5ifadesiFalsedöner, çünkü biristrbiriint'tir; karşılaştırmadan önce tipleri eşitlemek gerekir. - and/or önceliğini karıştırmak — Python'da
and,or'dan önce değerlendirilir; karmaşık ifadelerde anlam kaymasını önlemek için parantez kullanın.
Özet
Bu yazıda Python'daki üç temel operatör grubunu öğrendiniz: sayılar üzerinde işlem yapan aritmetik operatörler (+ - * / // % **), iki değeri kıyaslayıp bool sonuç veren karşılaştırma operatörleri (== != > < >= <=) ve koşulları birleştiren mantıksal operatörler (and or not). Bir sonraki yazıda bu operatörleri kullanarak kullanıcıdan girdi almayı (input()) ve tip dönüşümünü birlikte uygulayacağız.
Şimdi Sen Dene
💻 Alıştırma: Basit Bir Hesap Makinesi Yaz
İki sayıyı değişkenlere atayın (örneğin sayi1 = 12 ve sayi2 = 5) ve bu iki sayı üzerinde yedi aritmetik operatörün (+ - * / // % **) sonucunu print() ile ekrana yazdırın.
Ardından aynı iki sayıyı kullanarak şu karşılaştırmaları da ekrana yazdırın:
sayi1 > sayi2sayi1 == sayi2
Zorlu ek görev: sayi1'in çift sayı olup olmadığını % operatörünü kullanarak kontrol edin ve sonucu True/False olarak yazdırın. (İpucu: sayi1 % 2 == 0)
Kendini Test Et: Sonucu Önce Tahmin Et, Sonra Çalıştır
Aşağıdaki her kod satırının çıktısının ne olacağını önce kağıt üzerinde ya da kafanızda tahmin edin, sonra cevabı görmek için üzerine tıklayın. İsterseniz tahmininizi bir Python dosyasında çalıştırıp da doğrulayabilirsiniz.
Soru 1: print(9 // 2) ifadesinin çıktısı ne olur?
Cevap: 4 — // taban bölmedir; 9'un 2'ye bölümü 4.5'tir, ondalık kısmı atılınca 4 kalır.
Soru 2: print(9 % 2) ifadesinin çıktısı ne olur?
Cevap: 1 — 9, 2'ye 4 kez tam bölünür (8 eder), geriye kalan 1'dir.
Soru 3: print(2 ** 4) ifadesinin çıktısı ne olur?
Cevap: 16 — ** üs alma operatörüdür; 2'nin 4. kuvveti (2×2×2×2) 16'dır.
Soru 4: print(10 == "10") ifadesinin çıktısı ne olur?
Cevap: False — Sol taraf int, sağ taraf str tipindedir; Python farklı tiplerdeki bu iki değeri asla eşit saymaz, değerleri "10" görünse bile tipleri farklıdır.
Soru 5: print(not (5 > 3)) ifadesinin çıktısı ne olur?
Cevap: False — Önce parantez içi değerlendirilir: 5 > 3 ifadesi True'dur. not True ise False verir.



