[Python-Dev] Switch statement
python-dev at zesty.ca
Thu Jun 22 21:30:29 CEST 2006
On Wed, 21 Jun 2006, Guido van Rossum wrote:
> (Note how I've switched to the switch-for-efficiency camp, since it
> seems better to have clear semantics and a clear reason for the syntax
> to be different from if/elif chains.)
I don't think switch-for-efficiency (at least if efficiency is the
primary design motivator) makes sense without some strong evidence
that the use of if/elif constructs often causes a severe speed problem
in many Python programs. (Premature optimization and all that.)
Long if/elif chains probably don't occur often enough or slow down
programs enough to invent syntax *just* for speed; and even if they
did, i don't think there's any precedent for a Python statement
invented primarily as a speed optimization.
I'm hoping we can talk more about the question: How can a new statement
help programmers express their intent more clearly?
So far i've seen two possible answers to that question:
1. The switched-on expression is written and evaluated just once.
2. The cases could help you unpack things into local variables.
(There was some discussion about unpacking earlier:
which petered out, though there may still be the possibility of
designing something quite useful and readable.)
More information about the Python-Dev