Python'da bir ifadedeki farklı operatörlerin işlenme sırasını belirleyen bir kural seti vardır. Bu kurallar bütününe "operatör önceliği" denir ve programcının beklediği sonucu elde edebilmesi için oldukça önemlidir. Bu makale, yazılıma yeni başlayanların Python'daki operatör önceliğini anlamalarına yardımcı olmayı amaçlamaktadır.
Operatör önceliği, bir ifade içinde birden fazla operatör bulunduğunda hangi operatörün önce işleneceğini belirleyen kurallar bütünüdür.
Python'daki bazı temel operatörler ve öncelik sıralamaları şu şekildedir (en yüksek öncelikten en düşük önceliğe doğru):
**
: Üs alma
+x
, -x
, ~x
: Pozitif, negatif, bit düzeyinde NOT
*
, /
, //
, %
: Çarpma, bölme, tam sayı bölme, modül
+
, -
: Toplama ve çıkarma
<=
, <
, >
, >=
: Karşılaştırma operatörleri
==
, !=
: Eşitlik operatörleri
=
: Atama operatörü
Operatörler aynı öncelik düzeyindeyse, çoğu zaman soldan sağa doğru işlenirler. Ancak üs alma operatörü **
sağdan sola işlenir.
sonuc = 3 + 5 * 2
print(sonuc) # Çıktı: 13
Bu örnekte, çarpma operatörü *
toplama operatörü +
'dan önce işlenir çünkü çarpmanın önceliği daha yüksektir.
sonuc = 2 ** 3 ** 2
print(sonuc) # Çıktı: 512
Bu örnekte, üs alma operatörü **
sağdan sola işlendiği için ilk olarak 3 ** 2
hesaplanır, ardından 2 ** 9
hesaplanır.
Operatör önceliğini değiştirmek veya ifadenizi daha okunabilir hale getirmek için parantezler ()
kullanabilirsiniz.
sonuc = (3 + 5) * 2
print(sonuc) # Çıktı: 16
Bu örnekte, parantez içindeki toplama işlemi önce yapılır, çünkü parantezler en yüksek önceliğe sahiptir.
Python'daki operatör önceliği, ifadelerin doğru bir şekilde değerlendirilmesi için kritik öneme sahiptir. Hangi operatörlerin önce işleneceğini bilmek, kodunuzun beklediğiniz sonuçları vermesini sağlar. Parantezleri kullanarak öncelik sıralamasını kontrol altında tutabilir ve ifadelerinizi daha okunabilir hale getirebilirsiniz.