在这个例子中,我们创建了一个 Person 类的实例 person1,然后使用 hasattr() 函数来检查该实例是否具有 name 和 gender 这两个属性。由于 person1 实例具有 name 属性,所以第一个 hasattr() 函数返回 True;而 person1 实例没有 gender 属性,所以第二个 hasattr() 函数返回 False。 例2: 检查模块是否具有某个函数
import math
print(hasattr(math, "sqrt")) # 输出结果为 True
print(hasattr(math, "power")) # 输出结果为 False
复制代码
在这个例子中,我们使用 hasattr() 函数来检查 math 模块是否具有 sqrt 和 power 这两个函数。由于 math 模块具有 sqrt 函数,所以第一个 hasattr() 函数返回 True;而 math 模块没有 power 函数,所以第二个 hasattr() 函数返回 False。 例3: 检查字符串是否具有某个方法
s = "Hello, World!"
print(hasattr(s, "upper")) # 输出结果为 True
print(hasattr(s, "split")) # 输出结果为 True
print(hasattr(s, "reverse")) # 输出结果为 False
复制代码
在这个例子中,我们使用 hasattr() 函数来检查字符串对象 s 是否具有 upper、split 和 reverse 这三个方法。由于字符串对象 s 具有 upper 和 split 方法,所以前两个 hasattr() 函数返回 True;而字符串对象 s 没有 reverse 方法,所以第三个 hasattr() 函数返回 False。 例4: 检查类是否具有某个静态方法