[Python-bugs-list] [ python-Bugs-448679 ] Left to right
noreply@sourceforge.net
noreply@sourceforge.net
Sun, 04 Aug 2002 02:58:01 -0700
Bugs item #448679, was opened at 2001-08-07 08:55
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=448679&group_id=5470
Category: Documentation
Group: None
Status: Open
Resolution: None
Priority: 5
Submitted By: Tim Peters (tim_one)
Assigned to: Fred L. Drake, Jr. (fdrake)
Summary: Left to right
Initial Comment:
The Ref Man doesn't explicitly say anything about
Python's left-to-right evaluation order. Strict left-
to-right was Guido's intent, though, and it comes up a
few times per year on c.l.py (indeed, I was just
replying to a msg asking about it).
The docs should get fleshed out.
There's also a bug:
>>> counter = 0
>>> def i():
... global counter
... counter += 1
... return counter
...
>>> {i(): i()}
{2: 1}
>>> {i(): i(), i(): i()}
{4: 3, 6: 5}
>>>
That is, key:value *pairs* are evaluated left to
right, but within a single key:value pair, the value
gets evaluated first. When I asked Guido about that
some years ago, he agreed it was a bug.
----------------------------------------------------------------------
>Comment By: Martin v. Löwis (loewis)
Date: 2002-08-04 11:58
Message:
Logged In: YES
user_id=21627
With the patch attached, this behaviour is cast into stone
(or, atleast into a SF tracker :)
----------------------------------------------------------------------
You can respond by visiting:
https://sourceforge.net/tracker/?func=detail&atid=105470&aid=448679&group_id=5470