python中如何switch

python中没有switch语句,但是可以灵活实现。

下面就是一种实现:
 
def f(x):
    def case1():
        pass
    def case2():
        pass
    {1: case1, 2: case2}[x]()

但是更安全的写法是:

def f(x):
    def case1():
        pass
    def case2():
        pass
    d = {1: case1, 2: case2}
    deffunc = lambda *args, **kw: None
    func = d.get(x, deffunc)
    func()

 

 
posted @ 2013-06-18 18:07  Django中国  阅读(625)  评论(0编辑  收藏  举报