我可以在 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] 的值=]、c
、d
和 e
.
有没有更好的方法来构建它?我真的不想有两种不同的方法,但这也是一种可能。
不能 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)))
我有一个函数可以接受 1 个字符串或 4 个字符串:
def my_function(a, b, c, d, e):
我希望用户输入 a
,或者输入 b, c, d and e
。我知道我可以让它们都默认为 None
,但是我需要在我的代码中有逻辑来确保我们要么只获得 a
,要么我们获得所有 [=16] 的值=]、c
、d
和 e
.
有没有更好的方法来构建它?我真的不想有两种不同的方法,但这也是一种可能。
不能 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)))