Nadav> Can someone explain why python does not raise NameError in the Nadav> first test line b[e]low. >>> 2 == 3 is good 0 # ???????????????????????? Chained operations. The above expression is effectively (2 == 3) and (3 is good) The first is false, so the second is never evaluated. -- Skip Montanaro skip at pobox.com