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

2024-05-13 03:23:07 发布

您现在位置:Python中文网/ 问答频道 /正文

示例:

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名称。这可能吗?谢谢。


Tags: 实例nameself名称示例initdefclass
3条回答

你的问题和答案非常相似。请注意,您可以确定是谁在其构造函数中创建了实例,但不能在之后确定。无论如何,最好的方法是显式地将creator传递给构造函数。

__init__()方法中的相关类上设置一个变量,然后稍后检索该变量。

如果你问更好的问题,你会得到更好的答案。这个还不清楚。

不能,除非将“creator”的实例传递给Class2()构造函数。e、 g

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

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

相关问题 更多 >