On 2021-10-28, Paul Rubin <no.email@nospam.invalid> wrote: > Chris Angelico <ros...@gmail.com> writes: >> But it all depends on the exact process being done, which is why I've >> been asking for real examples. > > My most frequent use case for walrus is so common that I have sometimes > implemented a special class for it: > > if g := re.search(pat1, text): > hack(g.group(1)) > elif g := re.search(pat2, text): > smack(g.group(2), "foo") > ... > > It's way messier if you have to separate the assignment and test the old > way. That said, I'm still on Python 3.7 so I haven't yet gotten to use > walrus or the new match statement (or is it expression). > > I do feel surprised that you can't use an arbitrary lvalue (to use C > terminology) on the lhs of a walrus. That seems downright weird to me. > But, I haven't studied the PEP so I don't know if there was a particular > rationale.
Well, that's what I was saying: there's no rationale - the limitation is not even mentioned, let alone explained. -- https://mail.python.org/mailman/listinfo/python-list