0

可能重复:
打印一个类的所有实例

有没有办法返回一个特殊类的每个实例?我想获取每个对象的一些属性,然后删除该对象。

4

1 回答 1

2

是你自己写的那一门课吗?

  • 是的:设计它来跟踪它的实例——然后你可以查询那个缓存
  • 不:没有好办法。

下面是一个跟踪实例的简短示例:

class Tracker(object):
    instances = list()
    def __init__(self):
        self.__class__.instances.append(self)
    @classmethod
    def projeny(cls):
        print "There are currently %d instances of Tracker" % len(cls.instances)
        for instance in cls.instances:
            print instance


t1 = Tracker()
t2 = Tracker()
Tracker.projeny()
t3 = Tracker()
Tracker.projeny()

这给了我们:

There are currently 2 instances of Tracker
<__main__.Tracker object at 0x02237A30>
<__main__.Tracker object at 0x02237AD0>
There are currently 3 instances of Tracker
<__main__.Tracker object at 0x02237A30>
<__main__.Tracker object at 0x02237AD0>
<__main__.Tracker object at 0x02237AF0>

请参阅此答案以获得强大的实施。

于 2012-09-26T07:33:21.060 回答