As noted, it's really only counterintuitive if your intuition is primed to expect C style right to left chained assignments. Python, on the other hand, is able to preserve primarily left to right evaluation in this case with only the far right hand expression needing to be evaluated out of order. One example that can really make the intended behaviour clear: *a = *b = iter(range(3)) a ends up as (0,1,2), b ends up as (), because the first assignment consumes the entire iterable. My actual advice, though? If the order of assignment really matters, use multiple assignment statements rather than relying on readers knowing the assignment order. Cheers, Nick. -- Sent from my phone, thus the relative brevity :) -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://mail.python.org/pipermail/python-dev/attachments/20121106/e9260b3d/attachment.html>
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4