getattr() 获取对象属性

最后更新:2026-09-22

getattr() 获取对象属性

getattr(obj, name[, default]) 返回 obj 的属性 name;不存在时返回 default(否则抛 AttributeError)。

分类内置函数
类型内置函数
Python 版本all

📝 语法

getattr(object, name[, default])

⚙️ 参数

object 必选要读取属性的对象。
name 必选属性名(字符串)。
default 可选属性不存在时返回的默认值。(默认值:None)

返回值:对象的属性值;属性缺失时返回 default。

💥 异常

▶ 示例

编辑下方代码,点击运行,在输出面板查看结果:

运行结果:

10
default
更多实战案例即将上线,敬请期待。

❓ 常见问题

Qgetattr(obj, 'x', 'default') 和 obj.x 有什么区别?
A属性存在时结果相同;属性不存在时 getattr 返回 'default',而 obj.x 直接抛 AttributeError。
Q什么场景必须用 getattr?
A属性名是动态计算出来的(来自变量、配置、字符串拼接)时,getattr(obj, attr_name) 是点语法无法替代的。
Qgetattr 和 hasattr 怎么配合?
A可以先 hasattr(obj, 'x') 判断再用 getattr(obj, 'x');更简洁的是 getattr(obj, 'x', None) 一步到位。
Q不传 default 且属性不存在会怎样?
A抛 AttributeError;name 不是字符串时抛 TypeError。
Web-Tutorial.com

Web-Tutorial 技术团队

由多位开发者共同维护的编程教程平台。每篇教程由对应领域的开发者编写和审核,确保内容准确可靠。如发现任何问题,欢迎向我们反馈。

100%

🙏 帮我们做得更好

我们是刚上线的编程教程站,几个人的小团队,精力有限。页面虽经检查,难免还有疏漏——链接失效、排版错乱、内容有误、语言生硬……

如果您发现了,麻烦告诉我们,我们会在收到反馈后第一时间进行修复,再次感谢您的光临 🙏