So:
y = 0 x = (y :=2*3)*(y := y**2) s, t = y:=x + 1, x := y + 1
Would presumably be valid syntax.
I feel strongly that this is a bad idea and wrote a reddit reply copied here to show my disfavour:
Please
tell me this PEP is a joke!
After GvR stating the removal of assignment within expressions as one of the canonical ways of making Python easier to read and maintain; this PEP is a slap in the face.
I believe that Python is better without it. If a name can be both assigned to and used, in the same expression then rules of precedence need creating and teaching. This was problematic in the C language.
I wonder if this is a case of people wanting to help, and searching for something they can help with. Their thought being "other languages have it so it would help when translating algorithms from other languages".
Unfortunately, this. PEP 572 would add in to Python another C language maintenance nightmare feature with little benefit.
We have to beware the accretion of features for features sake in Python. I applauded the bold changes needed in forming Python3, and feel there needs to be restraint in shoving aside something that has made Python so readable for so long.
After GvR stating the removal of assignment within expressions as one of the canonical ways of making Python easier to read and maintain; this PEP is a slap in the face.
I believe that Python is better without it. If a name can be both assigned to and used, in the same expression then rules of precedence need creating and teaching. This was problematic in the C language.
I wonder if this is a case of people wanting to help, and searching for something they can help with. Their thought being "other languages have it so it would help when translating algorithms from other languages".
Unfortunately, this. PEP 572 would add in to Python another C language maintenance nightmare feature with little benefit.
We have to beware the accretion of features for features sake in Python. I applauded the bold changes needed in forming Python3, and feel there needs to be restraint in shoving aside something that has made Python so readable for so long.