如何知道对象在Python中是否具有属性
Python中是否有一种方法可以确定对象是否具有某些属性?例如:
>>> a = SomeClass()>>> a.someProperty = value
>>> a.property
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: SomeClass instance has no attribute 'property'
在使用a属性property之前,如何知道该属性是否存在?
回答:
尝试hasattr()
:
if hasattr(a, 'property'): a.property
编辑:请参阅下面的zweiterlinde
的答案,他为寻求宽恕提供了很好的建议!一个非常pythonic
的方法!
python
中的一般做法是,如果大多数情况下该属性很可能存在,则只需对其进行调用,然后让该异常传播,或者使用try / except
块将其捕获。这可能会比快hasattr
。如果该属性在大多数时间可能不存在,或者你不确定,则使用该属性可能hasattr
比重复陷入异常块要快。
以上是 如何知道对象在Python中是否具有属性 的全部内容, 来源链接: utcz.com/qa/412093.html