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

Reply via email to