James Stroud wrote: > py> b = 4 if True else b > py> b > 4
> Isn't the right side supposed to be evaluated first? Perhaps it becomes clearer if you change it a bit: >>> b = 4 if True else whatever >>> whatever Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'whatever' is not defined I. e. the else clause is never evaluated at all. Peter -- http://mail.python.org/mailman/listinfo/python-list