[Python-Dev] Switch statement
Phillip J. Eby
pje at telecommunity.com
Fri Jun 16 01:49:48 CEST 2006
At 11:45 PM 6/15/2006 +0100, Nicko van Someren wrote:
>On 15 Jun 2006, at 11:37, Nick Coghlan wrote:
> > ...
> > The lack of a switch statement doesn't really bother me personally,
> > since I
> > tend to just write my state machine type code so that it works off a
> > dictionary that I define elsewhere,
>Not trying to push more LISP into python or anything, but of course
>we could converge your method and the switch statement elegantly if
>only we could put whole suites into lamdbas rather than just single
As has already been pointed out, this
1) adds function call overhead,
2) doesn't allow changes to variables in the containing function, and
3) even if we had a rebinding operator for free variables, we would have
the overhead of creating closures.
The lambda syntax does nothing to fix any of these problems, and you can
already use a mapping of closures if you are so inclined. However, you'll
probably find that the cost of creating the dictionary of closures exceeds
the cost of a naive sequential search using if/elif.
More information about the Python-Dev