我有一个可以用不同的参数组合构建的类,但我有一个所需的参数列表。这是我目前的检查方式:
# check for the required arguments
rqrd_args = ['a', 'b', 'c'] # required arguments
mssing_args = set(rqrd_args)-set(kwargs.keys())
if mssing_args:
error_lines = ['The following required arguments are missing:']
error_lines.extend(['\t%s'%x for x in mssing_args])
sys.exit('\n'.join(error_lines))
# pull from kwargs
self.a = kwargs['a']
self.b = kwargs['b']
self.c = kwargs['c']
我倾向于多次重复使用此代码。我的问题是,我能否以某种方式将“#pull from kwargs”部分替换为遍历所需参数列表的循环,从而使代码更通用?为什么我不想这样做?
请您参考如下方法:
如果需要,将它们设为常规参数:
def __init__(a, b, c, **kwargs):
self.a = a
self.b = b
self.c = c
# ... then the rest in kwargs
