运维开发网

在Python中`如果键在dict`与`try / except` – 这是更具可读性的成语?

运维开发网 https://www.qedev.com 2020-07-09 19:40 出处:网络 作者:运维开发网整理
我有一个关于习语和可读性的问题,似乎有一个针对这个特殊情况的 Python哲学冲突:
我有一个关于习语和可读性的问题,似乎有一个针对这个特殊情况的 Python哲学冲突:

我想从字典B中构建字典A.如果B中不存在特定的键,则不执行任何操作并继续.

哪种方式更好?

try:
    A["blah"] = B["blah"]
except KeyError:
    pass

要么

if "blah" in B:
    A["blah"] = B["blah"]

“做并请求原谅”与“简单和明确”.

哪个更好?为什么?

例外不是条件限制.

条件版本更清晰.这是很自然的:这是简单的流量控制,这是条件的设计,而不是例外.

在循环中执行这些查找时,异常版本主要用作优化:对于某些算法,它允许从内部循环中消除测试.它没有这个好处.它有一个小优势,它避免了两次说“blah”,但如果你做了很多这些,你应该有一个帮助move_key函数无论如何.

一般情况下,我强烈建议默认情况下坚持使用条件版本,除非您有特殊原因不这样做.条件是显而易见的方法,这通常是一个强烈的建议,更喜欢一种解决方案而不是另一种解决方案.

扫码领视频副本.gif

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号