将默认值与Kwargs合并,任何更好的语法



我有一种接受变量参数的方法,并将用户提供的选项与默认选项合并,例如

def run(domain, **kwargs):
    options = {'opt1': 'abc', 'opt2': 'def'}
    if 'opt1' in kwargs:
        options['opt1'] = kwargs['opt1']
    if 'opt2' in kwargs:
        options['opt2'] = kwargs['opt2']

有比这更好的写作吗?

您可以使用字典理解:

def run(domain, **kwargs):
  options = {'opt1': 'abc', 'opt2': 'def'}
  options = {a:kwargs.get(a, b) for a, b in options.items()}

最新更新