2014-07-16 27 views
0

使用關鍵字參數時,不能僅在字典中引用潛在的關鍵字值,因爲它們可能不存在。引用可能存在或不存在的關鍵字值的最佳方法是什麼?我發現自己在做這樣的事情:解壓縮關鍵字參數的正確方法(kwargs)

def save_link(link, user, **kwargs): 

    if "auto" in kwargs: 
     auto = kwargs["auto"] 
    else: 
     auto = False 

爲了提供默認值並創建一個可靠存在的變量。有沒有更好的辦法?

+0

看看:http://stackoverflow.com/questions/1098549/proper-way-to-use-kwargs-in-python那裏還提到了其他一些方法。 –

回答

3

您可以使用字典的get屬性:

auto = kwargs.get('auto', False) 

這允許使用默認值(False在這種情況下)。

但是,請注意這種方法,因爲這種代碼不會抱怨錯誤的關鍵字參數。有人撥打funct(1,2,auot=True),一切看起來都不錯。您可能會考慮檢查您收到的kwargs是否屬於某個特定列表。

相關問題