Any alternative way to check if there is any attribute in python?
1 2 3 | a = SomeClass() if hasattr(a, 'property'): a.property |
这是检查是否有属性的唯一方法吗?有没有其他方法来做同样的事情?
如果不存在
捕获异常的一个潜在问题是,您不能很容易地区分不存在的属性和它存在的属性,但是当您调用它时,会运行一些代码,并且该代码会引发
您还可以查看这些相关问题,了解有关此主题的更多信息:
- 如何知道对象在python中是否有属性
- hasattr()vs try except块处理不存在的属性
好吧,你可以尝试访问它并捕获
1 2 3 4 | try: a.foo except AttributeError: ... |
您还可以使用:
1 2 | if 'property' in a.__dict__: a.property |