setattr() 设置属性

最后更新:2026-09-22

setattr() 设置属性

setattr(obj, name, value) 设置 obj 的属性 name 为 value;等价于 obj.name = value。

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

📝 语法

setattr(object, name, value)

⚙️ 参数

object 必选要修改属性的对象。
name 必选属性名(字符串)。
value 必选要设置的属性值。

返回值:无返回值(None),仅就地设置属性。

💥 异常

▶ 示例

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

运行结果:

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

❓ 常见问题

Qsetattr(obj, 'x', 100) 和 obj.x = 100 有区别吗?
A功能等价。setattr 的优势是属性名可以是变量或动态计算的字符串,适合反射式编程。
Qsetattr 有什么典型用途?
A配置加载/对象映射:for k, v in config.items(): setattr(obj, k, v),把字典批量变成对象属性。
Q对只读属性调用会怎样?
A抛 AttributeError: can't set attribute,例如给只定义了 getter 的 property 赋值。
Q设置了 __slots__ 的类能 setattr 任意属性吗?
A不能,只能设置 __slots__ 里声明的属性名,设置其他名字抛 AttributeError。
Web-Tutorial.com

Web-Tutorial 技术团队

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

100%

🙏 帮我们做得更好

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

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