检查运行时是否存在类的实例

时间:2019-01-04 11:54:50

标签: python-3.x oop

我需要知道如何在运行时检查给定类的实例是否存在。因此,我需要在此实例与其他类之间进行交互。这些类之间没有任何关系(组成,聚合和继承)。那么,如何获得此类的引用(如果存在)?

1 个答案:

答案 0 :(得分:0)

如果您只想知道某个类是否已实例化(或实例化了多少次),只需在该类中保留一个计数器:

class Foo:
    counter = 0

    def __init__(self):
        Foo.counter += 1

Foo()
print(Foo.counter)

或者,如果要保留所有实例的句柄(通过引用),请存储self

class Foo:
    classes = []

    def __init__(self):
        Foo.classes.append(self)

Foo()
print(Foo.classes[0])