>> A switch-statement offers only a modest readability improvement over >> if-elif chains. > > > Probably, which is why it hasn't been added yet. :-) > > But there is a definite readability improvement in that you *know* > that it's always the same variable that is being compared and that no > other conditions are snuck into some branches.
Hmm, when I saw that "arbitrary expressions" were being proposed, I took that took mean that the variable would have to be repeated in the branches: switch x: case x.endswith('wart'): salicylic_acid() case x.endswith('roid'): preparation_h() default: chicken_soup() > I would > think that it would be fine if some switches could be compiled into > some kind of lookup table while others would just be translated into a > series of if/elifs. As long as the compiler can tell the difference. > That's a worthy goal; of course, the devil is in the details. Given: switch x: case 1: one() case 2: two() case 3: three() default: too_many() Do we require that x be hashable so that the compiler can use a lookup table? Raymond _______________________________________________ Python-Dev mailing list Python-Dev@python.org http://mail.python.org/mailman/listinfo/python-dev Unsubscribe: http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com