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