Aritmetik, Karşılaştırma ve Mantıksal Operatörler
Operatörler, değişkenler ve değerler üzerinde işlem yapmak için kullanılan özel sembollerdir. Python'da birçok operatör türü bulunur.
Matematiksel işlemler için kullanılır:
| Operatör | Açıklama | Örnek | Sonuç |
|---|---|---|---|
+ |
Toplama | 5 + 3 |
8 |
- |
Çıkarma | 5 - 3 |
2 |
* |
Çarpma | 5 * 3 |
15 |
/ |
Bölme (ondalıklı) | 5 / 2 |
2.5 |
// |
Tam bölme (floor) | 5 // 2 |
2 |
% |
Mod (kalan) | 5 % 2 |
1 |
** |
Üs alma | 2 ** 3 |
8 |
a, b = 10, 3
print(f"Toplama: {a} + {b} = {a + b}") # 13
print(f"Çıkarma: {a} - {b} = {a - b}") # 7
print(f"Çarpma: {a} * {b} = {a * b}") # 30
print(f"Bölme: {a} / {b} = {a / b}") # 3.333...
print(f"Tam Bölme: {a} // {b} = {a // b}") # 3
print(f"Mod (Kalan): {a} % {b} = {a % b}") # 1
print(f"Üs Alma: {a} ** {b} = {a ** b}") # 1000
Mod operatörü bölme işleminden kalanı verir. Çok kullanışlıdır:
n % 2 == 0 → Çift sayın % 3 == 0 → 3'e bölünürn % 10 → Son basamak# Tek/Çift kontrolü
sayi = 17
if sayi % 2 == 0:
print("Çift sayı")
else:
print("Tek sayı") # Bu çalışır
# Son basamağı alma
n = 12345
son_basamak = n % 10
print(f"{n} sayısının son basamağı: {son_basamak}") # 5
# 5'e bölünebilirlik
print(25 % 5 == 0) # True (bölünür)
print(17 % 5 == 0) # False (bölünmez)
Değişkenlere değer atamak için kullanılır:
| Operatör | Örnek | Eşdeğeri |
|---|---|---|
= |
x = 5 |
x = 5 |
+= |
x += 3 |
x = x + 3 |
-= |
x -= 3 |
x = x - 3 |
*= |
x *= 3 |
x = x * 3 |
/= |
x /= 3 |
x = x / 3 |
//= |
x //= 3 |
x = x // 3 |
%= |
x %= 3 |
x = x % 3 |
**= |
x **= 3 |
x = x ** 3 |
x = 10
print(f"Başlangıç: x = {x}")
x += 5 # x = x + 5
print(f"x += 5 → x = {x}") # 15
x -= 3 # x = x - 3
print(f"x -= 3 → x = {x}") # 12
x *= 2 # x = x * 2
print(f"x *= 2 → x = {x}") # 24
x //= 5 # x = x // 5
print(f"x //= 5 → x = {x}") # 4
İki değeri karşılaştırır, sonuç True veya False döner:
| Operatör | Açıklama | Örnek | Sonuç |
|---|---|---|---|
== |
Eşit mi? | 5 == 5 |
True |
!= |
Eşit değil mi? | 5 != 3 |
True |
> |
Büyük mü? | 5 > 3 |
True |
< |
Küçük mü? | 5 < 3 |
False |
>= |
Büyük veya eşit mi? | 5 >= 5 |
True |
<= |
Küçük veya eşit mi? | 5 <= 3 |
False |
a, b = 10, 5
print(f"{a} == {b} → {a == b}") # False
print(f"{a} != {b} → {a != b}") # True
print(f"{a} > {b} → {a > b}") # True
print(f"{a} < {b} → {a < b}") # False
print(f"{a} >= {b} → {a >= b}") # True
print(f"{a} <= {b} → {a <= b}") # False
# String karşılaştırması (alfabetik)
print("ali" < "veli") # True (a, v'den önce)
print("abc" == "abc") # True
= (atama) ile == (karşılaştırma)
farklıdır!
x = 5 → x'e 5 değerini atax == 5 → x, 5'e eşit mi? (True/False)Boolean (True/False) değerlerle çalışır:
| Operatör | Açıklama | Örnek | Sonuç |
|---|---|---|---|
and |
VE - İkisi de True ise True | True and False |
False |
or |
VEYA - Biri True ise True | True or False |
True |
not |
DEĞİL - Tersini alır | not True |
False |
| A | B | A and B |
|---|---|---|
| True | True | True |
| True | False | False |
| False | True | False |
| False | False | False |
| A | B | A or B |
|---|---|---|
| True | True | True |
| True | False | True |
| False | True | True |
| False | False | False |
| A | not A |
|---|---|
| True | False |
| False | True |
yas = 20
ogrenci = True
maas = 3000
# and örneği - İkisi de True olmalı
print(yas >= 18 and ogrenci) # True (20>=18 VE öğrenci)
# or örneği - Biri True yeterli
print(yas < 18 or ogrenci) # True (18'den küçük DEĞİL AMA öğrenci)
# not örneği - Tersini al
print(not ogrenci) # False
# Karmaşık örnek
# İndirim: 18 yaş altı VEYA (öğrenci VE maaşı 4000'den az)
indirim = yas < 18 or (ogrenci and maas < 4000)
print(f"İndirim hakkı: {indirim}") # True
Python'da operatörler belirli bir sırayla işlenir (yüksekten düşüğe):
| Öncelik | Operatör | Açıklama |
|---|---|---|
| 1 (En yüksek) | () |
Parantez |
| 2 | ** |
Üs alma |
| 3 | *, /, //, % |
Çarpma, bölme, mod |
| 4 | +, - |
Toplama, çıkarma |
| 5 | ==, !=, >, <, >=, <= |
Karşılaştırma |
| 6 | not |
Mantıksal NOT |
| 7 | and |
Mantıksal AND |
| 8 (En düşük) | or |
Mantıksal OR |
# Matematiksel öncelik
print(2 + 3 * 4) # 14 (önce çarpma: 3*4=12, sonra 2+12)
print((2 + 3) * 4) # 20 (önce parantez: 2+3=5, sonra 5*4)
# Üs önce işlenir
print(2 ** 3 ** 2) # 512 (sağdan sola: 3**2=9, 2**9=512)
print((2 ** 3) ** 2) # 64 (parantez: 2**3=8, 8**2=64)
# Mantıksal operatör önceliği
x, y, z = True, False, True
print(x or y and z) # True (önce and: y and z = False, sonra x or False = True)
print((x or y) and z) # True (önce or: x or y = True, sonra True and z = True)
# Kullanıcıdan yaş al
yas = int(input("Yaşınız: "))
# Oy kullanabilir mi? (18 veya üzeri)
oy_kullanabilir = yas >= 18
print(f"Oy kullanabilir mi? {oy_kullanabilir}")
# Genç mi? (13-19 arası)
genc = yas >= 13 and yas <= 19
print(f"Genç mi? {genc}")
# Bir sayının 3 ve 5'e bölünüp bölünmediğini kontrol et
sayi = int(input("Sayı girin: "))
# Her ikisine de bölünüyor mu?
ikisine_de = sayi % 3 == 0 and sayi % 5 == 0
print(f"Hem 3'e hem 5'e bölünür: {ikisine_de}")
# En az birine bölünüyor mu?
birine = sayi % 3 == 0 or sayi % 5 == 0
print(f"En az birine bölünür: {birine}")
# Artık yıl: 4'e bölünür VE (100'e bölünmez VEYA 400'e bölünür)
yil = int(input("Yıl girin: "))
artik_yil = (yil % 4 == 0) and (yil % 100 != 0 or yil % 400 == 0)
if artik_yil:
print(f"{yil} artık yıldır")
else:
print(f"{yil} artık yıl değildir")
# Vize ve final notlarını al
vize = float(input("Vize notu: "))
final = float(input("Final notu: "))
# Ortalama hesapla (vize %40, final %60)
ortalama = vize * 0.4 + final * 0.6
# Geçti mi? (ortalama >= 50 VE final >= 50)
gecti = ortalama >= 50 and final >= 50
print(f"Ortalama: {ortalama:.1f}")
print(f"Geçti mi? {gecti}")