On Sat, Jun 23, 2018 at 1:48 PM, Steven D'Aprano <st...@pearwood.info> wrote: > I can't say I've done a broad survey, but the third-party documentation > I've read on comprehensions typically glosses over the scoping issues > without mentioning them. To the extent that scoping is even hinted at, > comprehensions are treated as expressions which are exactly equivalent > to re-writing them as a for-loop in the current scope.
Even first-party documentation elides that distinction. The same inaccurate-but-simple equivalency - even using the word "equivalent" - comes up here: https://docs.python.org/3/howto/functional.html?highlight=equivalent#generator-expressions-and-list-comprehensions So I'm very sympathetic to the desire to have assignment expressions inside comprehensions behave like assignment expressions outside comprehensions. The trouble is that they are then _not_ the same as other names inside comprehensions. One way or another, there's a confusing distinction, especially at class scope. Unless this comes with an actual semantic change that affects existing code, there is going to be a bizarre disconnect *somewhere*, and it's just a matter of where. ChrisA _______________________________________________ Python-Dev mailing list Python-Dev@python.org https://mail.python.org/mailman/listinfo/python-dev Unsubscribe: https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com