while expression feature proposal
Devin Jeanpierre
jeanpierreda at gmail.com
Fri Oct 26 19:41:52 EDT 2012
On Fri, Oct 26, 2012 at 6:03 PM, Cameron Simpson <cs at zip.com.au> wrote:
> Any doco would need to make it clear that no order of operation is
> implied, so that this:
>
> x = 1
> y = (2 as x) + x
>
> does not have a defined answer; might be 2, might be 3. Just like any
> other function call with side effects.
But function calls with side effects _do_ have a defined order of
evaluation. Left to right. And the answer should be 4.
http://docs.python.org/reference/expressions.html#evaluation-order
>>> def set_(d, k, v):
... d[k] = v
... return v
...
>>> d = {}
>>> set_(d, 'x', 1)
1
>>> set_(d, 'y', set_(d, 'x', 2) + d['x'])
4
-- Devin
More information about the Python-list
mailing list