重複の可能性:
クラスのすべてのインスタンスを印刷する
特別なクラスのすべてのインスタンスを返す方法はありますか?すべてのオブジェクトのいくつかの属性を取得してから、オブジェクトを削除したいと思います。
重複の可能性:
クラスのすべてのインスタンスを印刷する
特別なクラスのすべてのインスタンスを返す方法はありますか?すべてのオブジェクトのいくつかの属性を取得してから、オブジェクトを削除したいと思います。
あなたが自分で書いているクラスですか?
インスタンスを追跡する短い例を次に示します。
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>
堅牢な実装については、この回答を参照してください。