您好,以下是关于如何简化kwargs
选项的布尔检查的翻译:
例如,在foo
中,我必须检查很多选项:
def foo(*args, **kwargs):
if 'foo' in kwargs and kwargs['foo'] is True:
do_something()
if 'bar' in kwargs and kwargs['bar'] is True:
do_something_else()
...
一种可能的解决方法是通过添加更多的复杂性来隐藏一些复杂性...
def parse_kwargs(kwords, **kwargs):
keywords = {}
for kw in kwords:
keywords[kw] = True if kw in kwargs and kwargs['kw'] is True else False
return keywords
然后在我的主函数中:
def foo(*args, **kwargs):
kw = parse_kwargs(**kwargs)
if kw['foo']:
do_something()
if kw['bar']:
do_something_else()
...
我想知道是否可以使用更简单的方法,减少样板代码...
if kwargs.get('foo'):
- khelwood