Python:从内部类对象中取出类

Python:从内部类对象中取出类,python,inner-classes,outer-classes,Python,Inner Classes,Outer Classes,我有如下设置,B是一个内部类,a是一个外部类: class A: # some A stuff class B: # Some B stuff 如果我有一个B实例: b = B() 我怎样才能得到classA 换句话说,我想要像type(b)这样的东西,它通常会给出类b,但取而代之的是b的外部类A 编辑 我找到了\uuuuuuuuuuuuuuuuuu,如果您使用,请键入(b)__qualname__您将获得字符串“A.B”。虽然很接近,但我不认为从字符串中可以得到外部类本身。

我有如下设置,
B
是一个内部类,
a
是一个外部类:

class A:
  # some A stuff
  class B:
    # Some B stuff
如果我有一个
B
实例:

b = B()
我怎样才能得到class
A

换句话说,我想要像
type(b)
这样的东西,它通常会给出类
b
,但取而代之的是
b
的外部类
A

编辑


我找到了
\uuuuuuuuuuuuuuuuuu
,如果您使用
,请键入(b)__qualname__
您将获得字符串“A.B”。虽然很接近,但我不认为从字符串中可以得到外部类本身。

没有对“父”类的引用(因为它们只是分配给类对象的名称空间),除非手动执行以下操作

from enum import Enum
class A:
  class B(Enum):
    X = 1

A.B.parent = A
当然,您可以编写一个类装饰器,迭代它所装饰的类的所有成员,如果它们是类,则使用这样的属性对它们进行注释,从而

from enum to Enum

@annotate_subclasses  # Implementation elided :)
class A:
  class B(Enum):
    ...

这回答了你的问题吗?否。链接的问题是您在内部类中的什么位置,并且希望访问外部类方法。在我的情况下,您不在内部类中,但是您有一个内部类对象,并且希望访问其外部类的类。