Как определить тип экземпляра и наследование в Python

Метод isinstance() проверяет, является ли объект экземпляром класса, тогда как метод issubclass() запрашивает, является ли один класс подклассом другого класса (или других классов).

isinstance (object, classinfo)

Возвращает true, если аргумент object является экземпляром аргумента classinfo или его (прямого, косвенного или виртуального) подкласса.

issubclass (класс, класс)

Возвращает true, если класс является подклассом (прямым, косвенным или виртуальным) классаinfo. Класс считается подклассом самого себя.

Пример

 
class MyClass(object):
  pass
class MySubClass(MyClass):
  pass
print(isinstance(MySubClass, object))
print(issubclass(MySubClass, MyClass))
print(isinstance(MySubClass, MyClass))

Выход

 
True
True
False

Источник: http://net-informations.com/python/iq/instance.htm

1 Звезда2 Звезды3 Звезды4 Звезды5 Звезд (Пока оценок нет)
Adblock
detector