列出给定类的所有内部类 - Python

blu*_*ers 2 python python-3.x

给定一个类,我如何列出它的所有内部类?

class Car:
    some_var = "var"

    class Engine:
        some_other_var = "var2"

    class Body:
        another_var = "var3"
Run Code Online (Sandbox Code Playgroud)

现在,Car 我希望能够列出或迭代其所有内部类 ( Engine, Body)

(Python 3.5)

Ant*_*ong 5

你可以这样做:

import inspect
[d for d in dir(Car) if inspect.isclass(getattr(Car, d))]
Run Code Online (Sandbox Code Playgroud)

它将为您提供班级中的班级列表Car

请注意,变量d是一个字符串