Python:获取实例化类的名称?

Chu*_*uck 7 python class instance

例:

class Class1:
    def __init__(self):
        self.x = Class2('Woo!')

class Class2:
    def __init__(self, word):
        print word

meow = Class1()
Run Code Online (Sandbox Code Playgroud)

如何派生创建self.x实例的类名?换句话说,如果给我实例self.x,我怎么得到名称'Class1'?使用self.x.__class__.__name__显然只会给你Class2名称.这甚至可能吗?谢谢.

wor*_*ad3 5

除非将"creator"的实例传递给Class2()构造函数,否则不能.例如

class Class1(object):
    def __init__(self, *args, **kw):
        self.x = Class2("Woo!", self)

class Class2(object):
    def __init__(self, word, creator, *args, **kw):
        self._creator = creator
        print word
Run Code Online (Sandbox Code Playgroud)

这会为您创建类之间的反向链接