2017-12-03 77 views
0

我有一个接受可变参数和合并用户提供的选项使用默认选项的方法,e.g将默认值与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'] 

有没有比这更好的写作?

回答

1

您可以使用字典解析:

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