【问题标题】:Programmatically assign python3 class instance attributes以编程方式分配 python3 类实例属性
【发布时间】:2021-01-27 12:35:17
【问题描述】:

我可能有几十个不同的类实例,它们具有不同的属性,我只需要将模式/随机值放入其中,并且不想手动将其全部编码。有没有办法遍历类实例中的属性?

例如:

class test_class:
   attr1=0
   attr2=0
   attr3=0
i=test_class()
#How do I do the below in a loop without knowing the attribute names?
i.attr1=1
i.attr2=1
i.attr3=1

我知道如何获取属性的列表/字典,但我该怎么做才能为这些属性分配值?如何以编程方式循环遍历类实例属性并分配新值?

【问题讨论】:

  • 我不确定你在这里要做什么......你真的想要类属性与实例属性吗?您能否提供一个用例,因为这目前看起来非常反 Pythonic。
  • 你的对象没有实例属性

标签: python-3.x


【解决方案1】:

如果您知道属性名称,您可以使用setattr
如果您只想获取所有对象属性的列表,可以使用dir

【讨论】:

  • 我不知道属性名称。但我明白了,我可以获取列表并将值放入 setattr
  • 不要使用dir
猜你喜欢
  • 1970-01-01
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 2011-10-16
  • 1970-01-01
  • 2016-07-13
  • 2013-08-11
  • 2011-03-12
相关资源
最近更新 更多