Terry Reedy wrote:
On 6/24/2011 12:32 AM, Chetan Harjani wrote:
x=y="some string"
And we know that python interprets from left to right.

Read the doc. "5.14. Evaluation order
Python evaluates expressions from left to right. Notice that while evaluating an assignment, the right-hand side is evaluated before the left-hand side."

The example given to me when I had this question:

--> x = x['huh'] = {}
--> x
{'huh': {...}}


As you can see, the creation of the dictionary is evaluated, and bound to the name 'x'; then the key 'huh' is set to the same dictionary. If you try that the other way 'round this happens:

>>> x['huh'] = x = {}
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name 'x' is not defined

So -- the RHS (right hand side) gets evaluated first, then the LHSs from left to right.

~Ethan~
--
http://mail.python.org/mailman/listinfo/python-list

Reply via email to