Как объясненный Zach, можно использовать:
xor = bool(a) ^ bool(b)
Лично, я одобряю немного отличающийся диалект:
xor = bool(a) + bool(b) == 1
Этот диалект вдохновлен логическим языком схематического изображения, который я выучил в школе, где "ИЛИ" был обозначен полем, содержащим ≥1
(больше, чем или равный 1), и "XOR" был обозначен полем, содержащим =1
.
Это имеет преимущество корректной реализации эксклюзивного или на нескольких операндах.