Python标准库:内置函数hasattr(object, name)

本文介绍了一个用于检查对象属性存在的Python函数,并通过实例展示了如何使用此函数来判断对象属性是否存在于对象中。
    本函数是用来判断对象object的属性(name表示)是否存在。如果属性(name表示)存在,则返回True,否则返回False。参数object是一个对象,参数name是一个属性的字符串表示。
#hasattr()
 
class Test:
    def __init__(self):
        self.x = 123
    def test(x):
        self.x = x
 
r = Tset()
print(hasattr(r, 'x'))
print(hasattr(r, 'y'))
print(hasattr(r, 'test'))


结果如图所示:


Python中,`hasattr()` 是一个内置函数,用于检查对象是否具有指定名称的属性。`hasattr(self, name)` 通常在类的方法内部使用,`self` 代表类的实例对象,`name` 是要检查的属性名,该函数会返回一个布尔值,如果对象具有该属性则返回 `True`,否则返回 `False`。 ### 详细解释 `hasattr()` 函数的基本语法为:`hasattr(object, name)`,其中 `object` 是要检查的对象,`name` 是要检查的属性名,属性名需要以字符串的形式传入。 ### 使用示例 以下是几个使用 `hasattr()` 函数的示例: ```python # 示例 1:检查自定义类的属性 class Test(object): def __init__(self): self.name = "张三" self.age = 25 def say(self): print("I love study!") obj = Test() print(hasattr(obj, "name")) # 输出: True print(hasattr(obj, "age")) # 输出: True print(hasattr(obj, "say")) # 输出: True print(hasattr(obj, "new_name")) # 输出: False ``` ```python # 示例 2:在类的方法中使用 hasattr() class Person: def __init__(self, name): self.name = name def print_name_if_exists(self): if hasattr(self, "name"): print(getattr(self, "name")) p = Person("Alice") p.print_name_if_exists() # 输出: Alice ``` ### 注意事项 - `name` 参数必须是字符串类型,如果传入的不是字符串,会引发 `TypeError` 异常。 - `hasattr()` 函数会检查对象的实例属性和类属性,如果对象本身没有该属性,但它的类有该属性,也会返回 `True`。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值