Как определить, произошел ли класс из другого класса

У меня есть функция, которая принимает класс (а не экземпляр), и, в зависимости от того, является ли он конкретным классом или подклассом этого , мне нужно передать его одной из двух других (сторонних) заводских функций.

(Чтобы предотвратить любые возражения, я знаю, что это не очень Pythonic, но я зависим от того, что принимает сторонняя библиотека.)

issubclass работает только для экземпляров, а не для самих объектов класса. Я предполагаю, что могу создать экземпляр класса, сделать issubclass и выбросить экземпляр, но это кажется немного расточительным.

Вот что я делаю в данный момент, опираясь на встроенный атрибут mro, чтобы определить, входит ли какой-то класс в список предков моего класса. Это безопасно, и есть ли лучший способ сделать это?

 if GenericClass in myclass.__mro__: result = generic_factory(myclass) else: result = other_factory(myclass) 

 
Interesting Posts for Van-Lav

Улучшение извлечения человеческих имен с помощью nltk

Как поместить переменную в docstring Python

как извлечь только процент от psutil.phymem_usage () python

Python: как передать аргумент по умолчанию методу экземпляра с переменной экземпляра?

Получите абсолютное значение суммы на листе Excel, используя openpyxl

Что такое pythonic, чтобы избежать параметров по умолчанию, которые являются пустыми списками?

структура выборки аргумент-аргумент допустимых значений

Преобразуйте шестнадцатеричную строку «little endian» в IP-адрес в Python

UnicodeEncodeError: кодек 'ascii' не может кодировать символ u '\ xa3'

Извлечение неконтекстных слов на английском языке string – python

Как запустить python из Sublime text 3?

Наличие консоли в однопоточном скрипте Python

python не принимает аргументы ключевых слов

Defaultdict класса – Получить индекс / ключ текущего вызываемого экземпляра внутри класса

Как инициализировать dict с ключами из списка и пустым значением в Python?

Python - лучший язык программирования в мире.