Ders İçeriği

Operatör Nedir?

Operatörler, değişkenler ve değerler üzerinde işlemler yapmamızı sağlayan özel sembollerdir. Günlük hayatta kullandığımız +, -, ×, ÷ işaretleri gibi, Python'da da benzer operatörler vardır.

Günlük Hayattan Örnek

Marketten alışveriş yaptığınızı düşünün:

  • Toplama (+): Ekmek 3 TL + Süt 5 TL = 8 TL
  • Çıkarma (-): 20 TL - 8 TL = 12 TL para üstü
  • Çarpma (*): 3 adet elma × 2 TL = 6 TL
  • Bölme (/): 10 TL ÷ 2 kişi = 5 TL kişi başı

Python'da da aynı mantıkla çalışır!

Aritmetik Operatörler

Matematiksel işlemler için kullanılan operatörlerdir:

OperatörAçıklamaÖrnekSonuç
+Toplama5 + 38
-Çıkarma5 - 32
*Çarpma5 * 315
/Bölme6 / 32.0
//Tam bölme7 // 32
%Mod (kalan)7 % 31
**Üs alma2 ** 38

Temel Aritmetik İşlemler

a = 10
b = 3

print("a =", a, ", b =", b)
print("Toplama: a + b =", a + b)
print("Çıkarma: a - b =", a - b)
print("Çarpma: a * b =", a * b)
print("Bölme: a / b =", a / b)
print("Tam bölme: a // b =", a // b)
print("Mod (kalan): a % b =", a % b)
print("Üs alma: a ** b =", a ** b)
İpucu: Python'da bölme işlemi (/) her zaman ondalık sayı (float) döndürür. Tam sayı sonucu istiyorsanız tam bölme (//) kullanın.

Mod Operatörü (%) Detaylı Açıklama

Mod operatörü, bölme işleminden kalan sayıyı verir. Çok kullanışlıdır:

print("Çift sayı kontrolü:")
print("10 % 2 =", 10 % 2)  # 0 ise çift
print("11 % 2 =", 11 % 2)  # 1 ise tek

print("\nSaat hesaplama:")
print("25 saat = 25 % 24 =", 25 % 24, "saat (1 gün sonra)")
print("30 saat = 30 % 24 =", 30 % 24, "saat (1 gün sonra)")

print("\nDizilim kontrolü:")
print("17 kişi, 5'erli gruplar: 17 % 5 =", 17 % 5, "kişi kalır")

Atama Operatörleri

Değişkenlere değer atamak ve mevcut değerleri değiştirmek için kullanılır:

OperatörAçıklamaÖrnekEşdeğeri
=Atamax = 5-
+=Ekleyerek atamax += 3x = x + 3
-=Çıkararak atamax -= 3x = x - 3
*=Çarparak atamax *= 3x = x * 3
/=Bölerek atamax /= 3x = x / 3
x = 10
print("Başlangıç değeri: x =", x)

x += 5  # x = x + 5
print("x += 5 sonrası: x =", x)

x -= 3  # x = x - 3
print("x -= 3 sonrası: x =", x)

x *= 2  # x = x * 2
print("x *= 2 sonrası: x =", x)

x /= 4  # x = x / 4
print("x /= 4 sonrası: x =", x)

Karşılaştırma Operatörleri

İki değeri karşılaştırmak için kullanılır. Sonuç her zaman True veya False'dur:

OperatörAçıklamaÖrnekSonuç
==Eşit mi?5 == 5True
!=Eşit değil mi?5 != 3True
>Büyük mü?5 > 3True
<Küçük mü?5 < 3False
>=Büyük eşit mi?5 >= 5True
<=Küçük eşit mi?3 <= 5True
a = 10
b = 5
c = 10

print("a =", a, ", b =", b, ", c =", c)
print("a == b:", a == b)
print("a == c:", a == c)
print("a != b:", a != b)
print("a > b:", a > b)
print("a < b:", a < b)
print("a >= c:", a >= c)
print("b <= a:", b <= a)
Dikkat: Eşitlik kontrolü için == kullanın, = değil! = atama operatörüdür.

String Karşılaştırma

Metinleri de karşılaştırabilirsiniz:

ad1 = "Ahmet"
ad2 = "Mehmet"
ad3 = "Ahmet"

print("ad1 == ad2:", ad1 == ad2)
print("ad1 == ad3:", ad1 == ad3)
print("ad1 > ad2:", ad1 > ad2)  # Alfabetik sıralama
print("ad1 < ad2:", ad1 < ad2)

Mantıksal Operatörler

Boolean değerleri birleştirmek için kullanılır:

OperatörAçıklamaÖrnekSonuç
andVe (her ikisi de doğru)True and TrueTrue
orVeya (en az biri doğru)True or FalseTrue
notDeğil (tersini alır)not TrueFalse

and Operatörü

Her iki koşul da doğru olmalı:

yas = 20
lisans_var_mi = True

print("Yaş >= 18:", yas >= 18)
print("Lisans var mı:", lisans_var_mi)
print("Ehliyet alabilir mi?", yas >= 18 and lisans_var_mi)

# Farklı durumlar
print("\nFarklı durumlar:")
print("True and True:", True and True)
print("True and False:", True and False)
print("False and True:", False and True)
print("False and False:", False and False)

or Operatörü

En az bir koşul doğru olmalı:

matematik_notu = 85
fen_notu = 60

print("Matematik notu >= 80:", matematik_notu >= 80)
print("Fen notu >= 80:", fen_notu >= 80)
print("Başarılı sayılır mı?", matematik_notu >= 80 or fen_notu >= 80)

# Farklı durumlar
print("\nFarklı durumlar:")
print("True or True:", True or True)
print("True or False:", True or False)
print("False or True:", False or True)
print("False or False:", False or False)

not Operatörü

Koşulun tersini alır:

yagmur_yagiyor = False
semsiye_var = True

print("Yağmur yağıyor:", yagmur_yagiyor)
print("Yağmur yağmıyor:", not yagmur_yagiyor)
print("Şemsiye var:", semsiye_var)
print("Şemsiye yok:", not semsiye_var)

# Karmaşık örnek
disari_cikabilir = not yagmur_yagiyor or semsiye_var
print("Dışarı çıkabilir:", disari_cikabilir)

Operatör Önceliği

Birden fazla operatör kullanıldığında hangi işlemin önce yapılacağını belirler:

Öncelik Sırası (Yüksekten Düşüğe):
  1. Parantez: ()
  2. Üs alma: **
  3. Çarpma, Bölme, Mod: *, /, //, %
  4. Toplama, Çıkarma: +, -
  5. Karşılaştırma: ==, !=, <, >, <=, >=
  6. not: not
  7. and: and
  8. or: or
print("Operatör önceliği örnekleri:")
print("2 + 3 * 4 =", 2 + 3 * 4)  # Önce çarpma, sonra toplama
print("(2 + 3) * 4 =", (2 + 3) * 4)  # Parantez öncelikli

print("10 / 2 * 3 =", 10 / 2 * 3)  # Soldan sağa
print("2 ** 3 ** 2 =", 2 ** 3 ** 2)  # Üs alma sağdan sola

print("5 > 3 and 2 < 4 =", 5 > 3 and 2 < 4)
print("not False or True =", not False or True)
İpucu: Karmaşık ifadelerde parantez kullanın. Kodunuz daha okunabilir olur ve hata yapma riskiniz azalır.

Pratik Örnekler

Örnek 1: Yaş Kontrolü

yas = 17
print("Yaş:", yas)
print("Reşit mi?", yas >= 18)
print("Çocuk mu?", yas < 18)
print("Genç mi? (13-25 arası)", yas >= 13 and yas <= 25)

Örnek 2: Not Hesaplama

vize = 70
final = 80
ortalama = (vize * 0.4) + (final * 0.6)

print("Vize notu:", vize)
print("Final notu:", final)
print("Ortalama:", ortalama)
print("Geçti mi? (>= 60)", ortalama >= 60)
print("Onur listesi? (>= 85)", ortalama >= 85)

Örnek 3: Çift/Tek Sayı Kontrolü

sayi = 15
print("Sayı:", sayi)
print("Çift mi?", sayi % 2 == 0)
print("Tek mi?", sayi % 2 == 1)
print("5'in katı mı?", sayi % 5 == 0)
print("Pozitif mi?", sayi > 0)

📝 Pratik Alıştırmalar

Alıştırma 1: Basit Hesap Makinesi

İki sayı ile temel matematik işlemlerini yapan kod yazın:

sayi1 = 20
sayi2 = 8

print("Birinci sayı:", sayi1)
print("İkinci sayı:", sayi2)
print("Toplam:", sayi1 + sayi2)
print("Fark:", sayi1 - sayi2)
print("Çarpım:", sayi1 * sayi2)
print("Bölüm:", sayi1 / sayi2)
print("Tam bölüm:", sayi1 // sayi2)
print("Kalan:", sayi1 % sayi2)

Alıştırma 2: Koşul Kontrolü

Bir sayının çeşitli özelliklerini kontrol eden kod yazın:

sayi = 24

print("Sayı:", sayi)
print("Pozitif mi?", sayi > 0)
print("Çift mi?", sayi % 2 == 0)
print("10'dan büyük mü?", sayi > 10)
print("50'den küçük mü?", sayi < 50)
print("10-50 arasında mı?", sayi >= 10 and sayi <= 50)
print("3'ün katı mı?", sayi % 3 == 0)

Alıştırma 3: Mantıksal İşlemler

Farklı mantıksal operatörleri kullanarak koşullar oluşturun:

yas = 22
ogrenci = True
calisiyor = False

print("Yaş:", yas)
print("Öğrenci:", ogrenci)
print("Çalışıyor:", calisiyor)

print("Genç mi? (18-30 arası)", yas >= 18 and yas <= 30)
print("İndirim alabilir mi? (öğrenci veya 65+ yaş)", ogrenci or yas >= 65)
print("Tam zamanlı çalışabilir mi? (18+ yaş ve öğrenci değil)", yas >= 18 and not ogrenci)
print("Öğrenci kredisi alabilir mi? (öğrenci ve çalışmıyor)", ogrenci and not calisiyor)