[Tim] >>>> See reply to Glenn. Can you give an example of a dotted name that is >>>> not a constant value pattern? An example of a non-dotted name that is? >>>> If you can't do either (and I cannot)), then that's simply what "if
[Rhodri James <rho...@kynesim.co.uk>] >>> case long.chain.of.attributes: [Tim] >> That's a dotted name and so is a constant value pattern - read the PEP. >> >> Every dotted name in a pattern is looked up using normal Python >> name resolution rules, and the value is used for comparison by >> equality with the matching expression (same as for literals). [Rhodri] > Then I am surprised, which is worse. "long.chain.of.attributes" looks > like an assignment target, and I would have expected the case to have > been a name pattern. As always, I don't care whether something is obvious at first glance. I care whether something can be learned with reasonable effort, and "sticks" _after_ it's learned. There's essentially nothing truly obvious about programming. This, from the PEP, is the entire grammar for a "name pattern'" name_pattern: NAME !('.' | '(' | '=') That's it. A plain name not followed by a dot, left paren, or equality sign. While it may or may not surprise any given person at first glance, it's very simple. Put a fraction of the effort into learning it as you're willing to expend on articulating surprise, and it would already be far behind you ;-) _______________________________________________ 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/HQHVWUA7TSDOOGJTK4CO32CS3TRHEMW6/ Code of Conduct: http://python.org/psf/codeofconduct/