Я уже видел следующий вопрос, но он меня не совсем понимает, где я хочу: Как получить список всех классов в текущем модуле Python?
В частности, мне не нужны импортируемые классы, например если бы у меня был следующий модуль:
from my.namespace import MyBaseClass
from somewhere.else import SomeOtherClass
class NewClass(MyBaseClass):
pass
class AnotherClass(MyBaseClass):
pass
class YetAnotherClass(MyBaseClass):
pass
Если я использую clsmembers = inspect.getmembers(sys.modules[__name__], inspect.isclass), как предполагает принятый ответ в связанном вопросе, он вернет MyBaseClass и SomeOtherClass в дополнение к 3, определенным в этом модуле.
Как я могу получить только NewClass, AnotherClass и YetAnotherClass?