hasattr()vs try-except块来处理不存在的属性

发布于 2021-01-29 18:42:06

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

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

应该首选哪个,为什么?

关注者
0
被浏览
40
1 个回答
  • 面试哥
    面试哥 2021-01-29
    为面试而生,有面试问题,就找面试哥。

    hasattr在内部并快速执行与该try/except块相同的任务:它是一种非常具体,经过优化的单任务工具,因此,在适用时,应优先选择非常通用的替代工具。



知识点
面圈网VIP题库

面圈网VIP题库全新上线,海量真题题库资源。 90大类考试,超10万份考试真题开放下载啦

去下载看看