[Python-Dev] Switch statement

Ka-Ping Yee 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.)

Any others?

-- ?!ng

More information about the Python-Dev mailing list