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

2024-01-12

Example:

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

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

meow = Class1()

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


你不能,除非你将“创建者”的实例传递给 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

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

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Python:获取实例化类的名称? 的相关文章

随机推荐