欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程语言 > python >内容正文

python

判断 Python 对象是否包含某个属性的方法

发布时间:2024/7/5 python 30 豆豆
生活随笔 收集整理的这篇文章主要介绍了 判断 Python 对象是否包含某个属性的方法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

先创建两个类,判断类的属性是否存在:
 

class Foo(object):def __init__(self):super(Foo, self).__init__()self.is_whole = 1class Doo(object):def __init__(self):super(Doo, self).__init__()f = Foo() d = Doo()



方法一:通过异常捕捉来实现逻辑
 

try:print(f.is_whole) except AttributeError as e:passtry:print(d.is_whole) except AttributeError as e:print('d无这个属性')

方法二:调用hasattr方法: hasattr(object, name)

# 说明:判断对象object是否包含名为name的特性(hasattr是通过调用getattr(ojbect, name)是否抛出异常来实现的)。
# 参数object:对象。
# 参数name:特性名称。
 

>>> hasattr(f, 'is_whole')True>>> hasattr(d, 'is_whole')False

方法三:使用dir方法

obj = dir(f) if 'is_whole' in obj:print(f.is_whole) else:print('f无这个属性')obj = dir(d) if 'is_whole' in obj:print(d.is_whole) else:print('d无这个属性')

 

总结

以上是生活随笔为你收集整理的判断 Python 对象是否包含某个属性的方法的全部内容,希望文章能够帮你解决所遇到的问题。

如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。