python技巧 switch case

发布时间:2019-04-09 21:16:49编辑:auto阅读(1674)

    不同于C语言和SHELL,python中没有switch case语句,关于为什么没有,官方的解释是这样的

    使用Python模拟实现的方法:

     

    def switch_if(fun, x, y):
        if fun == 'add':
            return x + y
        elif fun == 'sub':
            return x - y
        elif fun == 'mul':
            return x * y
        elif fun == 'div':
            return x / y
        else:
            return None


    def switch_dict(fun, x, y):
        return {
            'add': lambda: x + y,
            'sub': lambda: x - y,
            'mul': lambda: x * y,
            'div': lambda: x / y,
        }.get(fun,None)()


    print("switch_if('add',1,2):",switch_if('add',1,2))
    print("switch_if('sub',1,2):",switch_if('sub',1,2))
    print("switch_if('mul',1,2):",switch_if('mul',1,2))
    print("switch_if('div',1,2):",switch_if('div',1,2))

    print("switch_dict('add',1,2):",switch_dict('add',1,2))
    print("switch_dict('sub',1,2):",switch_dict('sub',1,2))
    print("switch_dict('mul',1,2):",switch_dict('mul',1,2))
    print("switch_dict('div',1,2):",switch_dict('div',1,2))

     

     

    switch_if('add',1,2): 3
    switch_if('sub',1,2): -1
    switch_if('mul',1,2): 2
    switch_if('div',1,2): 0.5
    switch_dict('add',1,2): 3
    switch_dict('sub',1,2): -1
    switch_dict('mul',1,2): 2
    switch_dict('div',1,2): 0.5

     

关键字

上一篇: Python学习之旅(十)

下一篇: Django分页器