On Fri, 10 Jul 2020 at 12:08, Greg Ewing <greg.ew...@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.
That's a good point - and sufficiently compelling that (if "align else with match" ends up being the syntax) I'd always use "case _" rather than else. Equally, of course, it means that aligning else with match gives users a choice of which indentation they prefer: * Align with cases - use "case _" * Align with match - use "else" I've pretty much convinced myself that whatever happens, I'll ignore else and just use "case _" everywhere (and mandate it in projects I work on, where I have control over style). One thought - what will tools like black do in the "case _ vs else" debate? I can foresee some amusing flamewars if linters and formatters end up preferring one form over the other... Paul _______________________________________________ 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/IDCEBHXMCYYMONPUMD6QJDNMAFIFOYHJ/ Code of Conduct: http://python.org/psf/codeofconduct/