Menu

Python Operatörler: Aritmetik, Karşılaştırma, Mantıksal, Üyelik ve Kimlik

Python operatörlerine eksiksiz bir tur — aritmetik, karşılaştırma, mantıksal, atama, üyelik ve kimlik — her biri için örneklerle.

Operatörler Sadece Eylem Sembolleridir

Bir operatör, Python'a bir ya da iki değerle bir şey yapmasını söyleyen bir sembol (ya da kısa bir anahtar kelime) — onları topla, karşılaştır, birinin diğerini içerip içermediğini kontrol et. Birkaçını temel matematikten zaten biliyorsun; Python'un mantık, içerme ve kimlik için birkaç tane daha eki var.

Ana kategorileri teker teker gezeceğiz.

Aritmetik Operatörler

Standart matematik operatörleri, artı birkaç Python özelliği:

main.py
Output
Click Run to see the output here.

Bu listenin unutması kolay iki parçası:

  • / iki taraf da tam sayı olsa bile float döner. 10 / 2 sana 5.0 verir. Tam sayı bölmesi için // kullan.
  • % mod'dur. n % 2 == 0, n'in çift olup olmadığını test etmenin en temiz yoludur.

Python standart matematik önceliğini izler: **, * ve /'den daha sıkı bağlar; onlar da + ve -'den daha sıkı bağlar. Parantezler her şeyi geçersiz kılar:

main.py
Output
Click Run to see the output here.

Şüphe olduğunda parantezleri bolca kullan. Bedelleri yoktur ve niyeti açık hale getirirler.

Karşılaştırma Operatörleri

Altı karşılaştırma, her biri bir boolean döner:

main.py
Output
Click Run to see the output here.

Python karşılaştırmaları zincirlemene izin verir ki bu hem sıra dışı hem de kullanışlıdır:

main.py
Output
Click Run to see the output here.

Bu "age en az 18 ve 65'ten küçük" diye okunur. Arka planda 18 <= age and age < 65 ile eşdeğerdir ama matematik gibi okunur.

Mantıksal Operatörler

Sembol olarak değil, İngilizce kelime olarak yazılırlar:

main.py
Output
Click Run to see the output here.

Bilmekte yarar olan iki ayrıntı:

Kısa devre değerlendirme. and ilk falsy değerde durur; or ilk truthy değerde durur. Birinci taraf cevabı zaten belirliyorsa diğer taraf değerlendirilmez bile. Bu, hatalara karşı güvenle korunmana olanak tanır:

main.py
Output
Click Run to see the output here.

and/or her zaman True/False değil, değer döner. Sonucu belirleyen operandı döndürürler:

main.py
Output
Click Run to see the output here.

Gerçek kodda name = user_input or "anonymous" görürsün — bu, bu davranış üzerine kurulu bir varsayılan değer kalıbıdır.

Atama Operatörleri

= atar. Bileşik biçimler bir işlemi atama ile birleştirir:

main.py
Output
Click Run to see the output here.

Bileşik biçimler string'ler (s += "more") ve listeler (lst += [4, 5]) için de çalışır. Tam biçimi yazmaktan daha hızlı değildirler; sadece daha kısadırlar.

Üyelik: in ve not in

Bir değerin bir kap içinde görünüp görünmediğini test et:

main.py
Output
Click Run to see the output here.

in herhangi bir iterable'da çalışır — listeler, tuple'lar, set'ler, string'ler, dict'ler ve daha fazlası. Büyük aramalarda, liste üzerindeki in O(n)'dir; set ya da dict üzerindeki in O(1)'dir. Bu, üyeliği birçok kez kontrol etmeye başladığında önem kazanır.

Kimlik: is ve is not

is iki değişkenin bellekte aynı nesneye işaret edip etmediğini kontrol eder, sadece eşit değerlere değil:

main.py
Output
Click Run to see the output here.

Neredeyse her zaman == istersin. is'in gerçekten parladığı tek yer None, True ve False'a karşı kontrol yapmaktır:

main.py
Output
Click Run to see the output here.

Topluluk kuralı nettir: is None, == None değil. is True için de aynısı geçerli (nadiren gerekir).

Bit Düzeyi Operatörler (İlk Okumada Atla)

Python'un ayrıca bit düzeyinde operatörleri vardır — &, |, ^, ~, <<, >> — bir tam sayının bireysel bitlerini manipüle etmek için. Kriptografi, düşük seviye ağ iletişimi ve bazı algoritmalarda kullanışlıdırlar. İlk turda onları güvenle göz ardı edebilirsin.

Walrus Operatörü (:=)

Python 3.8 bir ifadede değer atayıp döndüren :='yi ekledi. Hem bir sonucu yakalayıp hem test etmek istediğin koşullarda kullanışlıdır:

main.py
Output
Click Run to see the output here.

Walrus olmadan len(numbers)'ı iki kez çağırırdın ya da ek bir satır eklerdin. Elzem değildir; tekrarı azalttığı yerlerde kullan.

Operatör Önceliği Özeti

Gerçekten kullanacağın operatörler için en sıkıdan en gevşeğe bağlama:

  1. ** — üs
  2. *, /, //, % — çarpma ve bölme
  3. +, - — toplama ve çıkarma
  4. <, <=, >, >=, ==, != — karşılaştırmalar
  5. not
  6. and
  7. or

Şüphe olduğunda parantez kullan. Açıklık zekaya üstündür.

Kontrol Akışına Geçiş

Operatörler cebinde olunca koşul yazabilirsin. Bir sonraki sayfa if/elif/else — programının operatörlerin söylediğine göre bir yol ya da diğerini almasına izin veren yapı.

Sıkça Sorulan Sorular

Python'daki ana operatör türleri nelerdir?

Aritmetik (+, -, *, /, //, %, **), karşılaştırma (==, !=, <, <=, >, >=), mantıksal (and, or, not), atama (=, +=, -=, …), üyelik (in, not in) ve kimlik (is, is not).

Python'da == ile is arasındaki fark nedir?

== iki değerin eşit olup olmadığını kontrol eder. is iki değişkenin bellekte tam olarak aynı nesneye atıfta bulunup bulunmadığını kontrol eder. None, True ve False için is kullan — bunlar tekildir. Diğer her şey için == neredeyse her zaman istediğin şeydir.

Python'da % operatörü ne yapar?

Sayılar için % mod operatörüdür — bir bölmenin kalanını döner. 17 % 5, 2'dir. String'ler için eski stil bir biçimlendirme söz dizimidir ("hello %s" % name gibi), ama f-string'ler onu büyük ölçüde değiştirdi.

Coddy ile kodlamayı öğren

BAŞLA