2017-12-03 76 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()} 
相關問題