Python hasattr()函数
hasattr()
是 Python 内置函数之一,用于检查一个对象是否具有指定的属性或方法。
hasttr()函数语法
hasattr(object, name)
其中:
object
:需要检查的对象。name
:要检查的属性或方法的名称,可以是字符串或标识符。
如果对象具有指定的属性或方法,则返回True
,否则返回False
;此功能是通过调用getattr(object, name)
看是否有AttributeError
异常来实现的。
hasattr()函数示例
例如,假设有一个类Person
,它有一个名为name
的属性和一个名为say_hello()
的方法。可以使用hasattr()
检查一个实例person
是否具有这些属性或方法:
class Person:
def __init__(self, name):
self.name = name
def say_hello(self):
print(f"Hello, my name is {self.name}.")
person = Person("Alice")
# 检查实例是否具有属性
print(hasattr(person, "name")) # True
print(hasattr(person, "age")) # False
# 检查实例是否具有方法
print(hasattr(person, "say_hello")) # True
print(hasattr(person, "say_goodbye")) # False
可以看到,在上面的示例中,hasattr()
函数分别检查了person
实例的name
属性和say_hello()
方法,返回了True
,表明该实例确实具有这些属性和方法。