使用Python字典简化多重if-else分支

  1. 使用match语法 (Python 3.10 及以上)
  2. 使用类和方法。对于复杂的逻辑,可以使用面向对象的编程,创建一个类,并将每个条件对应的方法封装在类中。
  3. 使用字典
def call(arg, *args, **kwargs):
    task_type = arg['task_type']
    # model_path = os.path.join(os.getcwd(), '../pmodel.json')
    try:
        if task_type == '1':
            res = place_order(arg)
        elif task_type == '2':
            res = order_track(arg)
        elif task_type == '3':
            res = order_monitor(arg)
        elif task_type == '4':
            res = check_points(arg)
        elif task_type == '5':
            res = duration_query(arg)
        else:
            res = {"Error": "task type not found!"}
    except Exception as e:
        res = {"Error": str(e)}
        traceback.print_exc()
    return res

使用Python字典简化多重if-else分支

def call(arg, *args, **kwargs):
    task_type = arg['task_type']
    try:
        task_mapping = {
            '1': place_order,
            '2': order_track,
            '3': order_monitor,
            '4': check_points,
            '5': duration_query
        }
        res = task_mapping.get(task_type, lambda: {"Error": "Task type not found!"})(arg)
    except Exception as e:
        res = {"Error": str(e)}
    return res
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值