根据python中的arg调用不同的类函数或类函数的组合

时间:2017-11-28 21:18:54

标签: python-3.x

我有一个名为app01的子分析器。它有两个参数--delete-user--delete-hash。我已设置默认函数来调用函数check_app

check_app函数是这样的:

def check_app(args):
    a = App()
    if args.user:
        # run function01 from App() class to delete user account
    elif args.hash:
        # run function02 from App() class delete user hash
    else:
        # run both functions to delete user and hash

如何在不必将function01和function02添加到else块的情况下工作。或者这是唯一的方法吗?

1 个答案:

答案 0 :(得分:1)

我认为你的代码是不错的。

如果您出于纯粹的美学原因想要您想要的内容,请允许我警告您,代码可维护性将大幅下降。您可以看到Ronan B给出的答案已经显得相当混乱,如果您和#39;那个试图理解它的人,感觉破解工作太多了。

但如果你仍然希望我能够理解你的感官,我也可以建议一个更简单的版本:

def check_app(args):
    a = App()
    if not args.user:
        # run #02    < note #2
    if not args.hash:
        # run #01    < note #1

当然假设如果函数#1和#2都需要运行,没有给出参数,而不是给出两个参数,通常是直观的。