[Python-Dev] Switch statement

Guido van Rossum guido at python.org
Wed Jun 21 18:16:42 CEST 2006

On 6/21/06, Nick Coghlan <ncoghlan at gmail.com> wrote:
> There's some benefit to "first time it's executed" though:
>    a. it allows access to the local namespace

And how would that be a good thing? It just begs for confusion if the
local variable doesn't always have the same value. (Yes, globals may
vary too, but less likely, since global *variables* (i.e. that
actually vary) are generally considered a bad idea. There's no such
taboo for local variables. :-)

>    b. it uses the same semantics at module level as it does in a function

Hm, I hadn't thought of that one yet.

> If we go with 'at function definition time', then neither of those is true.
> I'm actually curious how a module level switch statement would work at all in
> that case, without either falling back on the "first time it's executed"
> definition, or else not permitting switch statements in module level code.

After thinking about it a bit I think that if it's not immediately
contained in a function, it should be implemented as alternative
syntax for an if/elif chain.

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list