我有一个名为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块的情况下工作。或者这是唯一的方法吗?
答案 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都需要运行,没有给出参数,而不是给出两个参数,通常是直观的。