Python hasattr
时间: 2024-08-16 13:04:10 浏览: 33
`hasattr()` 是 Python 内置的一个函数,用于检查某个对象是否具有指定的属性或方法。这个函数接收两个参数,第一个参数是要检查的对象,第二个参数是想要测试的属性名或方法名。如果对象有该属性,则返回 `True`,否则返回 `False`。
例如:
```python
class MyClass:
def __init__(self):
self.my_attribute = "Hello"
obj = MyClass()
# 测试对象是否有名为 'my_attribute' 的属性
if hasattr(obj, 'my_attribute'):
print("Object has 'my_attribute'")
else:
print("Object does not have 'my_attribute'")
# 测试对象是否有名为 'non_existent_attribute' 的属性
if hasattr(obj, 'non_existent_attribute'):
print("Object has 'non_existent_attribute'")
else:
print("Object does not have 'non_existent_attribute'")
```
在这个例子中,`hasattr(obj, 'my_attribute')` 返回 `True`,因为 `MyClass` 实例有这个属性,而 `hasattr(obj, 'non_existent_attribute')` 返回 `False`,因为对象并没有这个属性。
`hasattr()` 也适用于方法,如果你想知道对象能否调用某个方法,同样可以用它进行检查。
阅读全文