Подтвердить что ты не робот

Что случилось с types.ClassType в python 3?

У меня есть script, где я делаю некоторые магические вещи для динамической загрузки модуля и создания экземпляра первого класса, найденного в модуле. Но я не могу использовать types.ClassType больше в Python 3. Каков правильный способ сделать это сейчас?

4b9b3361

Ответ 1

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

>>> class C: pass
... 
>>> type(C)
<class 'type'>
>>> isinstance(C, type)
True
>>> isinstance('string', type)
False

Ответ 2

Он использовался для классических классов. В Python 3 они ушли. Я полагаю, вы могли бы использовать что-то вроде:

issubclass(ClassName, object)