本文介绍了hasattr()与try-except块来处理不存在的属性的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

if hasattr(obj, 'attribute'):
    # do somthing

VS

try:
    # access obj.attribute
except AttributeError, e:
    # deal with AttributeError

这应该是preferred为什么?

Which should be preferred and why?

推荐答案

hasattr 内部,并迅速执行相同的任务尝试/除块:这是一个非常具体的,优化的,一个任务的工具,因此应该是preferred,在适用时,到非常通用的替代

hasattr internally and rapidly performs the same task as the try/except block: it's a very specific, optimized, one-task tool and thus should be preferred, when applicable, to the very general-purpose alternative.

这篇关于hasattr()与try-except块来处理不存在的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-15 23:21