Python 基于参数的分支

Python 基于参数的分支,python,Python,假设我必须根据传递给函数的参数进行分支: def args_func(foo=None, bar=None): if foo: print foo else: print baz args_func(foo='foobarbaz') 这是在这种情况下进行分支的唯一方法吗?这是因为else子句是不明确的,而if子句是非常具体的,它是有条件的(“if foo为true”),而且由于我在python的zen之后只有两个可能的参数,显式优于隐式 也许i

假设我必须根据传递给函数的参数进行分支:

def args_func(foo=None, bar=None):
    if foo:
        print foo
    else:
        print baz

args_func(foo='foobarbaz')
这是在这种情况下进行分支的唯一方法吗?这是因为else子句是不明确的,而if子句是非常具体的,它是有条件的(“if foo为true”),而且由于我在python的zen之后只有两个可能的参数,显式优于隐式

也许if/else不是此任务的正确构造

else子句不明确

那么让我们不要含糊其辞:

def args_func(foo=None, bar=None):
    if foo:
        print foo
    elif bar:
        print bar
    # Add elif's here for other arguments
    else:
        raise ValueError("no arguments given")
这假设
daz
是一个打字错误


如果您正在寻找的不是这个原始答案,您需要给出一个更现实的示例,说明您正在尝试做什么。

有两个单独的函数吗?不,这将是ajax调用的后端,我希望有相同的函数接收调用。修复了错误。我认为你的建议很简单,但很简洁。这里没有什么特别的东西,只是为了写更清晰的代码。