排他的論理和(XOR)が家のスイッチ

一回きたらon、またきたらoffって、普通のものって感じがするんだけど、仕組みを考えると難しい。
で、pythonでうまいこと実装するとこうなる

switch = 0  
# 1になる
switch ^= 1  
# 0になる
switch ^= 1  

どこから押しても明かりがついていると消えて、消えているとつくスイッチってよくあるけど、多分この仕組が使われている。