python中异常有多快?

python

如果没有引发异常,则try/except块的效率极高。实际上捕获异常是昂贵的。在2.0之前的Python版本中,通常使用这个习惯用法:

try:

value=mydict[key]

exceptKeyError:

mydict[key]=getvalue(key)

value=mydict[key]

只有当你期望dict在任何时候都有key时,这才有意义。如果不是这样的话,你就是应该这样编码:

ifkeyinmydict:

value=mydict[key]

else:

value=mydict[key]=getvalue(key)

对于这种特定的情况,您还可以使用 value=dict.setdefault(key,getvalue(key)),但前提是调用 getvalue() 足够便宜,因为在所有情况下都会对其进行评估。

以上是 python中异常有多快? 的全部内容, 来源链接: utcz.com/z/520624.html

回到顶部