On Sat, Oct 23, 2021 at 6:24 AM Jon Ribbens via Python-list <python-list@python.org> wrote: > > On 2021-10-22, Stefan Ram <r...@zedat.fu-berlin.de> wrote: > > Paulo da Silva <p_d_a_s_i_l_v_a...@nonetnoaddress.pt> writes: > >>Why doesn't this work > >> if (self.ctr:=self.ctr-1)<=0: > >>while this works > >> if (ctr:=ctr-1)<=0: > > > > assignment_expression ::= [identifier ":="] expression, > > but the attribute references "self.ctr" is no identifier! > > This seems a surprising omission. You'd expect at least 'attributeref' > and 'subscription' to be allowed, if not the whole of 'target'.
That's not the primary use-case for assignment expressions, and they were highly controversial. It is much easier to expand it afterwards than to restrict it, or to have the feature rejected because people are scared of some small aspect of it. If you want to propose relaxing the restrictions, make your use-case and attempt to convince people of the value. ChrisA -- https://mail.python.org/mailman/listinfo/python-list