On Tue, 13 Nov 2001, Skip Montanaro wrote: > > mal> Syntax: > > mal> switch EXPR: > mal> case CONSTANT: > mal> SUITE > mal> case CONSTANT: > mal> SUITE > mal> ... > mal> else: > mal> SUITE > > mal> (modulo indentation variations) > > mal> The "else" part is optional. If no else part is given and none > mal> of the defined cases matches, a ValueError is raised. > >Hmmm... This doesn't jive well with current if statement semantics. I can >write > > if x == "first": > dofirst() > >and no ValueError is raised if x == "second". Why should switch be any >different? A switch is a different beast, and should be considered afresh, and not just as syntactic sugar for a (restricted) if-elif-else list. However, in all other places Python allows an else clause, a missing one is treated as ``else: pass'', and I don't see any compelling reason why a switch should behave otherwise. /Paul
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4