Python 内置函数 hasattr()
1. 概述
hasattr()
是 Python 中的一个内置函数,用于检查对象是否具有指定的属性。它接受两个参数:对象和属性名。如果对象具有指定的属性,则返回 True
,否则返回 False
。
2. 语法
hasattr(object, name)
-
object
: 要检查属性的对象。 -
name
: 属性的名称。
3. 示例
3.1 检查对象属性
class Person:
def __init__(self, name, age):
self.name = name
self.age = age
person = Person("Alice", 30)
# 检查对象是否具有属性
has_name = hasattr(person, "name")
has_city = hasattr(person, "city")
print(f"Has name: {has_name}") # 输出: Has name: True
print(f"Has city: {has_city}") # 输出: Has city: False
3.2 动态添加属性
# 动态添加一个属性
setattr(person, "city", "New York")
# 现在我们可以访问新添加的属性
print(f"City: {person.city}") # 输出: City: New York
4. 注意事项
- 使用
hasattr()
时,确保对象具有指定的属性,以避免引发异常。 - 如果需要动态添加属性,可以使用
setattr()
。