[Python-Dev] assignment expressions: an alternative proposal

Nick Coghlan ncoghlan at gmail.com
Tue Apr 24 09:46:34 EDT 2018


On 24 April 2018 at 23:38, Yury Selivanov <yselivanov.ml at gmail.com> wrote:
> I propose to use the following syntax for assignment expressions:
>
>     ( NAME = expr )
>
> I know that it was proposed before and this idea was rejected, because
> accidentally using '=' in place of '==' is a pain point in
> C/C++/JavaScript.
>
> That said, I believe we can still use this syntax as long as we impose
> the following three restrictions on it:
>
> 1. Only NAME token is allowed as a single target.
>
> 2. Parenthesis are required.
>
> 3. Most importantly: it is *not* allowed to mask names in the current
> local scope.

While I agree this would be unambiguous to a computer, I think for
most humans it would be experienced as a confusing set of arcane and
arbitrary rules about what "=" means in Python.

Cheers,
Nick.

-- 
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list