On Sat, 31 Oct 2020 at 18:20, Paul Sokolovsky <pmis...@gmail.com> wrote: > I blame it on my Saturday's hazy mind, but also for the interest of > other readers, could you elaborate on "`==` interacts poorly with other > aspects of the pattern syntax"?
Class patterns use the keyword argument syntax to match by attribute name: case SomeClass(some_attr=<match_pattern>): ... Mapping patterns use dictionary syntax: case {some.key:<match_pattern>}: ... If match patterns can start with "=", those both end up looking pretty weird (and that's assuming the tokenizer can even figure out what is happening in the first place - if you omitted the spaces before "==" in the examples below, it would come up with "== =" for "===" and ":= =" for ":=="): case SomeClass(some_attr= ==EXPR): ... case {some.key: ==EXPR}: ... Most ad hoc examples seem to lean towards sequence matching (I guess because they're shorter), but it's accounting for the readability of class and mapping patterns that places the most constraints on the choice of prefix sigil. Cheers, Nick. -- Nick Coghlan | ncogh...@gmail.com | Brisbane, Australia _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-le...@python.org https://mail.python.org/mailman3/lists/python-dev.python.org/ Message archived at https://mail.python.org/archives/list/python-dev@python.org/message/UY4MXJG46RFBBM25XOLHOVOZQ7HJKZI3/ Code of Conduct: http://python.org/psf/codeofconduct/