2

我需要获取子类的全名。

例子:

class Foo:
    class Bar:
        pass


x = Foo.Bar()
print(x.__class__.__name__)

输出:Bar
预期:Foo.Bar

4

2 回答 2

2

您可以使用__qualname__,这是__class__

class Foo:
    class Bar:
        pass


x = Foo.Bar()
print(x.__class__.__qualname__)
#OUTPUT: Foo.Bar

最好的方法是调用它type,它已经调用__class__了实例:

class Foo:
    class Bar:
        pass


x = Foo.Bar()
print(type(x).__qualname__)
#OUTPUT: Foo.Bar
于 2020-09-26T14:48:38.247 回答
0

使用type.

class Foo:
    class Bar:
        pass


x = Foo.Bar()
print(type(x))
<class '__main__.Foo.Bar'>

__main__不脱,由你决定。

于 2020-09-26T14:47:13.453 回答