hasattr() 是否有属性
最后更新:2026-09-22
hasattr() 是否有属性
hasattr(obj, name) 判断 obj 是否有名为 name 的属性。
| 分类 | 内置函数 |
|---|---|
| 类型 | 内置函数 |
| Python 版本 | all |
📝 语法
hasattr(object, name)
⚙️ 参数
| object 必选 | 要检查属性的对象(可为任意对象)。 |
|---|---|
| name 必选 | 属性名字符串,如 'attr'。 |
返回值:返回布尔值:对象具有指定属性时为 True,否则为 False。
💥 异常
TypeError— 当 name 不是字符串时抛出。
▶ 示例
编辑下方代码,点击运行,在输出面板查看结果:
运行结果:
True
False
🏷️ 相关内置函数
💡 相关案例
更多实战案例即将上线,敬请期待。
❓ 常见问题
Qhasattr(obj, 'x') 返回 True 说明什么?
A说明 obj 有名为 x 的属性(包括从父类继承的),但不保证它的值非 None,也不保证它可调用。
Qhasattr 和 getattr 有什么区别?
Ahasattr 只判断“有没有”返回布尔值;getattr 是“取出来”,属性不存在会抛 AttributeError(除非给了 default)。
Q属性名必须写死吗?
A不必,hasattr(obj, attr_name) 的属性名可以是变量,适合动态检查对象能力。
Qhasattr 能检查方法吗?
A能,方法也是属性,hasattr(obj, 'method_name') 返回 True;配合 callable() 可进一步确认可调用。