You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python中如何通过变量动态访问对象属性并完成字符串拼接写入

动态访问对象属性的解决方案

这问题我熟!你现在的需求是:current 变量存的是属性名的字符串(比如'connection_name'),想通过类似 qs.current 的写法,实际获取 qs.connection_name 的值,而不是硬编码属性名对吧?

Python 里专门提供了 getattr() 函数来处理这种动态属性访问的场景,它的作用就是根据字符串形式的属性名,获取对象对应的属性值。

把你的代码修改成这样就可以实现需求了:

current = 'connection_name'
# 用 getattr 动态获取属性值,同时用 f-string 让字符串拼接更简洁
f.write(f"\t{current}\t= {getattr(qs, current)}\n")

补充说明:

  • getattr(qs, current) 完全等价于 qs.connection_name(当 current = 'connection_name' 时),如果后续 current 换成其他属性名的字符串,代码也能自动适配对应的属性。
  • 推荐用 f-string(f"")来拼接字符串,比用 + 更简洁,还能避免不同类型变量拼接时的报错问题。
  • 如果担心属性不存在会报错,可以给 getattr() 加第三个参数作为默认值,比如:getattr(qs, current, '属性不存在'),这样即使属性不存在,代码也不会崩溃,而是返回你指定的默认值。

内容的提问来源于stack exchange,提问作者Cool Breeze

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.29 08:11:10