假设 connectionDetails
是一个 Python 字典,那么像这样重构代码的最好、最优雅、最“pythonic”的方法是什么?
if "host" in connectionDetails:
host = connectionDetails["host"]
else:
host = someDefaultValue
原文由 mnowotka 发布,翻译遵循 CC BY-SA 4.0 许可协议
您还可以使用 defaultdict
像这样:
from collections import defaultdict
a = defaultdict(lambda: "default", key="some_value")
a["blabla"] => "default"
a["key"] => "some_value"
您可以传递任何普通函数而不是 lambda:
from collections import defaultdict
def a():
return 4
b = defaultdict(a, key="some_value")
b['absent'] => 4
b['key'] => "some_value"
原文由 tamerlaha 发布,翻译遵循 CC BY-SA 3.0 许可协议
2 回答5.2k 阅读✓ 已解决
2 回答1.1k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
3 回答1.2k 阅读✓ 已解决
2 回答850 阅读✓ 已解决
1 回答1.7k 阅读✓ 已解决
像这样: