Python小技巧:使用字典模拟 switch/case 语句

Posted 不剪发的Tony老师

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Python小技巧:使用字典模拟 switch/case 语句相关的知识,希望对你有一定的参考价值。

大家好,我是只谈技术不剪发的 Tony 老师。

Python 没有提供 switch/case 语句实现。所以今天的 Python 小技巧是如何使用字典(Dictionary)模拟实现 switch/case 语句,示例如下:

# 使用 if 语句模拟 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

# 使用字典映射和 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 语句的主要内容,如果未能解决你的问题,请参考以下文章

Python小技巧:字典的get()方法和默认参数

Python字典(dict)使用技巧

3.python小技巧分享-使用min和max函数去找字典中的最大值和最小值

python 小技巧, 如何根据字典中的值的大小,对字典中的项排序

Python-一些小技巧

python小技巧--通过字典的值(value)求键(key)