
While I understand the point of view that says that match ... : should encapsulate a sequence of indented suites, it seems to me that match/case/case/.../else has a natural affinity with try/except/except/.../finally/else, and nobody seems to think that the excepts should be indented. Or the finally. And naturally the match/else case are at the same indentation level, just as for/else, while/else and try/finally. So why, exactly, should case be indented? My apologies for being a Bear of Very Little Brain. On Fri, Jul 10, 2020 at 12:09 PM Greg Ewing <greg.ewing@canterbury.ac.nz> wrote:
A thought about the indentation level of a speculated "else" clause...
Some people have argued that "else" should be at the outer level, because that's the way it is in all the existing compound statements.
However, in those statements, all the actual code belonging to the statement is indented to the same level:
if a: .... elif b: .... else: ....
^ | Code all indented to this level
But if we were to indent "else" to the same level as "match", the code under it would be at a different level from the rest.
match a: case 1: .... case 2: .... else: .... ^ ^ | | Code indented to two different levels
This doesn't seem right to me, because all of the cases, including the else, are on the same footing semantically, just as they are in an "if" statement.
-- Greg _______________________________________________ Python-Dev mailing list -- python-dev@python.org To unsubscribe send an email to python-dev-leave@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/ACH4QXCU... Code of Conduct: http://python.org/psf/codeofconduct/