我可以在 python 方法中要求参数的子集吗?

Can I require a subset of parameters in a python method?

我有一个函数可以接受 1 个字符串或 4 个字符串:

def my_function(a, b, c, d, e):

我希望用户输入 a,或者输入 b, c, d and e。我知道我可以让它们都默认为 None,但是我需要在我的代码中有逻辑来确保我们要么只获得 a,要么我们获得所有 [=16] 的值=]、cde.

有没有更好的方法来构建它?我真的不想有两种不同的方法,但这也是一种可能。

不能 100% 确定这是否是您想要的。

但这可行:

def my_function(*args):
    if len(args) == 1:
        a = args[0]
        # do stuff with a
    elif len(args) == 4:
        (b, c, d, e) = args
        # do stuff with b,c,d,e
    else:
        raise Exception("Expected 1 or 4 arguments: Got " + str(len(args)))