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

如何利用列表动态调用Python对象的属性?

动态通过字符串列表调用对象属性的正确方式

要实现用列表中的字符串动态调用对象属性,你需要使用Python内置的getattr()函数,这是处理这类动态属性访问的标准方法。

正确代码示例

my_list = ["last_modified", "created"]
self.execute(getattr(record, my_list[0]), getattr(record, my_list[1]))

如果后续列表的长度可能变化,用列表推导式配合解包语法会更灵活——不管列表里有多少个属性名,都能一次性传入:

my_list = ["last_modified", "created"]
# 批量获取所有属性值
attr_values = [getattr(record, name) for name in my_list]
# 用*解包把列表元素作为参数传入
self.execute(*attr_values)

为什么你的尝试会报错

  • 尝试1错误原因:record.my_list[0]的写法是在试图访问record对象的my_list属性,但你的record并没有这个属性,Python自然会报错。你真正的需求是用列表里的字符串作为属性名,而非访问对象的my_list属性。
  • 尝试2错误原因:record.one是直接访问record的one属性,而不是变量one中存储的字符串对应的属性。Python不会自动把变量名解析为属性名,所以这种写法同样找不到对应属性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.05 07:32:38