все Python 3inspectфункция
inspect.isclass()
проверка вида объекта
Проверяет, что объект — класс, встроенный или свой; экземпляр класса классом не является.
Синтаксис
inspect.isclass(object) -> bool
Параметризованный обобщённый тип list[int] классом не считается: isclass даёт False, хотя list[int]() создаёт список — это types.GenericAlias. Функция эквивалентна isinstance(obj, type), так что класс с метаклассом тоже проходит. Чтобы спросить «подкласс ли это», сначала нужна эта проверка: issubclass(3, int) падает с TypeError.
Примеры
import inspect
class A: pass
print(inspect.isclass(A), inspect.isclass(A())) # → True False
print(inspect.isclass(int), inspect.isclass(list[int])) # → True False
issubclass(3, int) # → TypeError: issubclass() arg 1 must be a class
См. также
Частые ошибки
Открыть в полном глоссарииdocs.python.orgСообщить о неточности