[Python-Dev] assignment expressions: an alternative proposal

Antoine Pitrou solipsis at pitrou.net
Tue Apr 24 09:55:31 EDT 2018


On Tue, 24 Apr 2018 23:46:34 +1000
Nick Coghlan <ncoghlan at gmail.com> wrote:
> 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.

If the ambition is to find a piece of syntax that reads as "binds",
then we can use a variation on the FLUFL operator: "<->".

Regards

Antoine.




More information about the Python-Dev mailing list