“默认”条件语句的 Pythonic 方式?

lte__

我有一个具有多个级别的 if-elif-else 结构,但最后一级else始终是相同的语句:

if statement1:
    if something:
        do_thing()
    elif something_else:
        if something_something:
            do_thing_something()
        elif somethingg:
            do_thingg()
        else:
            do_default()
    else:
        do_default()
else: 
    do_default()

如您所见,我使用了do_default()3 次,我觉得有更好的方法。这基本上是其他语言defaultinswitch-case语句,但 Python 没有switch-case. 我想知道是否还有其他方法可以更优雅地/“Pythonically”解决这个问题?或者是使用 dicts 或实现我自己的唯一方法switch-case

库科23

你可以把它打包成一个函数并写成

def wrapper(args):
    if statement1:
        if something:
            return do_thing()
        elif something_else:
            if something_something:
                return do_thing_something()
           elif somethingg:
                return do_thingg()
    do_default()

虽然你必须多次写 return

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章