On 25 April 2018 at 03:01, Tim Peters <tim.pet...@gmail.com> wrote: > assignment statement buried deep inside expressions. But in > conventional use, "binding" is restricted to identifiers, which vastly > simplifies the mental model for "the worst" that can happen.
[snip] > But, in the absence of Guido chiming in, it's really up to you. A few > people have expressed positive feelings about changing the name to > "binding expressions", and none opposed it (that I saw), but the > sample size is too small to claim that "proves" anything. I go back and forth, as I suspect even if we call them "name binding expressions" in the language reference (which I think would be a good idea), they'll often be referred to colloquially as "assignment expressions". That's probably OK though - list displays and dict displays are regularly referred to as literals, and the meaning remains clear, even though the use of literal is technically inaccurate. I also think it would be good for the PEP to spell out the following semantic invariant for code running in a regular namespace: _rhs = expr assert (target := _rhs) is _rhs and target is _rhs It's the restriction to single names as targets that makes it possible to impose such a strong assertion about what the syntax means. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ 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