บางครั้งเราต้องใช้เงื่อนไขตรวจสอบมากกว่าหนึ่งในคำสั่งเดียว มีไวยากรณ์พื้นฐานสำหรับการตรวจสอบแบบนี้คือ x < y < z หรือ if x < y and x < z เป็นต้น
เช่นเดียวกับภาษาอื่นๆ มีตัวดำเนินการเปรียบเทียบพื้นฐานใน Python ตัวดำเนินการเหล่านี้คือ <, <=, >, >=, ==, !=, is, is not, in, not in
Precedence ของตัวดำเนินการเหล่านี้เหมือนกัน และ precedence ต่ำกว่า arithmetic, bitwise และ shifting operators
ตัวดำเนินการเหล่านี้สามารถจัดเรียงได้ตามใจชอบ จะถูกใช้เป็น chain ดังนั้นถ้า expression เป็น x < y < z แล้วมันคล้ายกับ x < y and y < z จากตัวอย่างนี้เราเห็นได้ว่าถ้า operands คือ p1, p2,..., pn และ operators คือ OP1, OP2,..., OPn-1 แล้วจะเหมือนกับ p1 OP1 p2 and p2 OP2 p3, ..., pn-1 OPn-1pn
ดังนั้นมีตัวอย่างบางอย่างเกี่ยวกับ chaining features ของตัวดำเนินการเปรียบเทียบ
ตัวอย่างโค้ด
a = 10 b = 20 c = 5 # c < a < b เหมือนกับ c < a and a < b print(c < a) print(a < b) print(c < a < b) # b ไม่อยู่ระหว่าง 40 และ 60 print(40 <= b <= 60) # a คือ 10 ซึ่งมากกว่า c print(a == 10 > c)
ผลลัพธ์
True True True False True
ตัวอย่างโค้ด
u = 5 v = 10 w = 15 x = 0 y = 7 z = 15 # w เหมือน z แต่ไม่เหมือน v, v มากกว่า x ซึ่งน้อยกว่า y print(z is w is not v > x < y) # ตรวจสอบว่า w และ z เหมือนกัน และ x < z > y หรือไม่ print(x < w == z > y)
ผลลัพธ์
True True