Python isinstance ()

Функция isinstance () проверяет, является ли объект (первый аргумент) экземпляром или подклассом класса classinfo (второй аргумент).

Синтаксис isinstance():

 isinstance (объект, информация о классе)

isinstance () Параметры

isinstance() принимает два параметра:

  • объект - objectподлежит проверке
  • classinfo - класс, тип или кортеж классов и типов

Возвращаемое значение из isinstance ()

isinstance() возвращает:

  • True если объект является экземпляром или подклассом класса или любым элементом кортежа
  • False в противном случае

Если classinfo не является типом или кортежем типов, возникает TypeErrorисключение.

Пример 1: Как работает isinstance ()?

 class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))

Вывод

 Верно Неверно Верно

Пример 2: Работа isinstance () с собственными типами

 numbers = (1, 2, 3) result = isinstance(numbers, list) print(numbers,'instance of list?', result) result = isinstance(numbers, dict) print(numbers,'instance of dict?', result) result = isinstance(numbers, (dict, list)) print(numbers,'instance of dict or list?', result) number = 5 result = isinstance(number, list) print(number,'instance of list?', result) result = isinstance(number, int) print(number,'instance of int?', result)

Вывод

(1, 2, 3) экземпляр списка? Истинный (1, 2, 3) экземпляр dict? Ложный (1, 2, 3) экземпляр dict или list? Правда 5 экземпляров списка? Ложный 5 экземпляр int? Правда

Интересные статьи...