如果尚未设置数值,则最多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值以传递给另一个函数”。我觉得这个标题太笼统了。 –