我想在类中创建一个用户级方法,其中参数可以通过关键字的几个变体传递。 为此,我为每个关键字参数设置一个允许的变体列表,并检查每个列表中的每个关键字。e、 g.:
def some_function(self, **kwargs):
"""
this function does something with a and b as keyword args
"""
dict_allowed_a = ['a_variation1','a_variation2',...]
dict_allowed_b = ['b_variation1','b_variation2',...]
for arg_str in kwargs():
if arg_str in dict_allowed_a:
local_a = kwargs[arg_str]
if arg_str in dict_allowed_b:
local_b = kwargs[arg_str]
else:
print('Invalid keyword', file=sys.stderr)
raise ValueError
return self._private_method(local_a, local_b)
我有3个问题,从更具体到不太具体:
请注意,您必须处理一些奇怪的情况,例如
a_variation1
和a_variation2
我会用像
请注意,
[0]
将只提取第一个值,这处理情况1。在[None]
类似于默认值,它用于案例2。在相关问题 更多 >
编程相关推荐