美文网首页
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