【问题标题】:Get all attributes of a class in Python [duplicate]在Python中获取类的所有属性[重复]
【发布时间】:2015-09-30 19:31:33
【问题描述】:

是否可以获取某个类或对象的所有属性?我有一个具有许多属性的类,我想创建一个函数/方法,它返回对象的所有属性等于无。

由于有许多这样的属性,我必须避免将它们全部写入函数中。

类似这样的:

def get_all_empty_attributes(self):
    for attr  in self.attributes.names:
        if self.attr==None:
            yield attr

是否可以使用内置函数?

【问题讨论】:

  • 您可以,如下面的答案所示,但如果您有很多要迭代并动态查询而不是显式查询的键值对,也许您应该考虑使用命名元组或仅使用字典属性。

标签: python class object attributes


【解决方案1】:

使用vars

for property, value in vars(your_class).iteritems():
    print(property, ":", value)

【讨论】:

  • 现在只是 python 3.x 中的 .items()
猜你喜欢
  • 2013-04-05
  • 2021-01-09
  • 2011-08-23
  • 1970-01-01
  • 2019-01-12
  • 2011-09-20
  • 2011-10-16
  • 2021-04-25
相关资源
最近更新 更多