On Jun 23, 2020, at 12:27, Rob Cliffe via Python-Dev <python-dev@python.org> wrote: > > On 23/06/2020 17:01, Guido van Rossum wrote: >> >> You can combine several literals in a single pattern using `|` ("or"): >> >> ```py >> case 401|403|404: >> return "Not allowed" > The PEP is great, but this strikes me as horribly confusing, given that > 401|403|404 is already legal syntax. > IIUC any legal expression can come between `case` and `:`, but expressions > that contain `|` at their outermost level are interpreted differently than > from in other contexts. > Presumably adding parentheses: > case (401|403|404): > would make it equivalent to > case 407: > > Is a separator (other than whitespace) actually needed? Can the parser cope > with > case 401 403 404:
Maybe the PEP could support this syntax: case in 401, 403, 404: That seems like it would be both unambiguous and semantically obvious. Cheers, -Barry
signature.asc
Description: Message signed with OpenPGP
_______________________________________________ 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/OT6Y4DHTJNB7QSOLS3577AGQFIQPNKSP/ Code of Conduct: http://python.org/psf/codeofconduct/