hasattr() 与 try-except 块处理不存在的属性 [英] hasattr() vs try-except block to deal with non-existent attributes

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

问题描述

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

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

应该首选哪个以及为什么?

Which should be preferred and why?

推荐答案

hasattr 在内部快速执行与 try/except 块相同的任务:这是一个非常具体的,经过优化的单任务工具,因此在适用时应优先于非常通用的替代方案.

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 块处理不存在的属性的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆