dict可用于模拟switch/case语句

  |   0 评论   |   0 浏览   |   给我丶鼓励
# 因为Python拥有一流的函数,所以它们可以用来模拟switch/case语句

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


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


>>> dispatch_if('mul', 2, 8)
16

>>> dispatch_dict('mul', 2, 8)
16

>>> dispatch_if('unknown', 2, 8)
None

>>> dispatch_dict('unknown', 2, 8)
None

标题:dict可用于模拟switch/case语句
作者:给我丶鼓励
地址:https://blog.doiduoyi.com/articles/1606621925679.html

评论

发表评论