如果尚未設置數值,則最多pythonic如何在dict
中設置值?只有在數值尚未設置的情況下,才能在字典中設置值
在我的代碼使用if語句的時刻:
if "timeout" not in connection_settings:
connection_settings["timeout"] = compute_default_timeout(connection_settings)
dict.get(key,default)
是適當的代碼消耗的字典,而不是正在準備字典傳遞給另一個函數的代碼。你可以用它來設置的東西,但它沒有漂亮IMO:
connection_settings["timeout"] = connection_settings.get("timeout", \
compute_default_timeout(connection_settings))
將評估即使字典包含關鍵的計算功能;錯誤。
默認值是當默認值相同時。
當然有很多次您設置不需要計算作爲默認設置的主要價值,他們當然可以使用dict.setdefault
。但是更復雜的案例呢?要做到這一點
考慮ç把你的問題的標題掛在更精確的東西上:「如何設置默認kwarg值以傳遞給另一個函數」。我覺得這個標題太籠統了。 –