2024-05-13 03:23:07 发布
网友
示例:
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名称。这可能吗?谢谢。
self.x.__class__.__name__
你的问题和答案非常相似。请注意,您可以确定是谁在其构造函数中创建了实例,但不能在之后确定。无论如何,最好的方法是显式地将creator传递给构造函数。
在__init__()方法中的相关类上设置一个变量,然后稍后检索该变量。
__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
这将为您创建类之间的反向链接
你的问题和答案非常相似。请注意,您可以确定是谁在其构造函数中创建了实例,但不能在之后确定。无论如何,最好的方法是显式地将creator传递给构造函数。
在
__init__()
方法中的相关类上设置一个变量,然后稍后检索该变量。如果你问更好的问题,你会得到更好的答案。这个还不清楚。
不能,除非将“creator”的实例传递给Class2()构造函数。e、 g
这将为您创建类之间的反向链接
相关问题 更多 >
编程相关推荐