美文网首页
python语言模拟switch-case语句

python语言模拟switch-case语句

作者: 十月里的男艺术家 | 来源:发表于2018-10-29 11:50 被阅读0次

python语言的if语句如下:

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

采用lambda的匿名函数,提供类似switch-case语句

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

相关文章

网友评论

      本文标题:python语言模拟switch-case语句

      本文链接:https://www.haomeiwen.com/subject/ophbtqtx.html