hasattr()是 Python 内置函数之一,用于检查一个对象是否具有指定的属性或方法。

函数语法

hasattr(object, name)

参数:

  • object:需要检查的对象;
  • name:要检查的属性或方法的名称,可以是字符串或标识符;

如果对象具有指定的属性或方法,则返回True,否则返回False;此功能是通过调用getattr(object, name)查看是否有AttributeError异常抛出来实现的。

可参考:

hasattr() 函数示例

检查某个实例是否有某个属性或方法:

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

if hasattr(person, "say_hello"):
    person.say_hello()