while ve if deyimlerinde kıyaslama
dışında da işleçler kullanılabilir.
in ve not kıyaslama işleçleri bir
değerin bir sıra içinde olup olmadığını sınarlar.
is ve is not işleçleri iki nesnenin
tamamen aynı nesne olup olmadıklarını sınarlar (bu sadece liste gibi
değiştirilebilir nesnelerde önemlidir).
Bütün kıyaslama işleçleri aynı önceliğe sahiptirler ve bu sayısal
işleçlerinkinden düşüktür.
Kıyaslamalar zincirlenebilir: a < b == c gibi.
Kıyaslamalar mantıksal işleçler and ve
or ile birleştirilebilirler ve kıyaslamanın sonucu
(ya da herhangi bir mantıksal ifade) not ile
değillenebilirler. Bunların hepsi de kıyaslama işleçlerinden düşük
önceliğe sahiptirler ve aralarında en yüksek öncelikli olan
not ve en düşük öncelikli olan or
işleçidir. Örneğin A and not B or C ifadesi
(A and (not B)) or C ifadesine eştir. İstenen bileşimi
elde etmek için parantezler kullanılabilir.
and ve or mantıksal işleçlerine
kısa devre işleç de denir. Bunların argümanları soldan sağa
değerlendirilir ve sonuç belli olur olmaz değerlendirme işlemi kesilir.
Örneğin A ve C doğru, fakat B yanlış olsun. A and B and C
ifadesinde C ifadesi değerlendirilmez (çünkü C'nin değeri sonucu değiştirmez).
Genel olarak bir kısa devre işleçi Bool değil de genel
bir değer gibi kullanıldığında en son değerlendirilen argümanın değeri geri
döndürülür.
Bir kıyaslamanın ya da mantıksal ifadenin sonucunu bir değişkene atamak
mümkündür:
>>> string1, string2, string3 = '', 'Trondheim', 'Hammer Dance'
>>> non_null = string1 or string2 or string3
>>> non_null
'Trondheim'
C dilinin tersine, Python'da ifadelerin içinde atama olamayacağına
dikkat edin. C programcıları bundan şikayetçi olabilirler; ancak bu C
programlarında sık karşılaşılan bazı hataları engellemektedir
(== yerine = yazmak gibi).