📜  Python hasattr() 方法(1)

📅  最后修改于: 2023-12-03 15:04:05.267000             🧑  作者: Mango

Python hasattr() 方法

在 Python 中,hasattr() 是一个内置函数,用于判断一个对象是否具有给定的属性。 该函数可以用于检查类对象和实例对象上是否有指定的属性。

语法

hasattr(object, attribute)

其中,object 为要检查的对象,attribute 为要检查的属性名。

返回值

如果对象拥有该属性,返回 True,否则返回 False

示例

下面是一个使用 hasattr() 的简单示例:

class MyClass:
    def __init__(self):
        self.x = 10

obj = MyClass()

# 检查 obj 是否有属性 x
if hasattr(obj, 'x'):
    print("obj 有属性 x")
else:
    print("obj 没有属性 x")

# 检查 obj 是否有属性 y
if hasattr(obj, 'y'):
    print("obj 有属性 y")
else:
    print("obj 没有属性 y")

输出结果为:

obj 有属性 x
obj 没有属性 y

在上面的示例中,我们创建了一个名为 MyClass 的类,并在其构造函数中初始化了属性 x,然后我们创建了一个实例 obj。然后使用 hasattr() 检查了 obj 是否有属性 xy,根据输出结果可以看出 obj 拥有属性 x,但没有属性 y

注意事项
  • 在使用 hasattr() 时,属性名不区分大小写。
  • 在检查属性时,该属性必须已被 Python 解释器解释并存储在内存中,否则会抛出 AttributeError 异常。
  • 如果对应名称的属性存在,但是为 None,仍然返回 True。