Функцията isinstance () проверява дали обектът (първият аргумент) е екземпляр или подклас на classinfo class (втори аргумент).
Синтаксисът на isinstance()
е:
isinstance (обект, информация за клас)
isinstance () Параметри
isinstance()
взема два параметъра:
- обект -
object
за проверка - classinfo - клас, тип или набор от класове и типове
Възвръщаема стойност от isinstance ()
isinstance()
се завръща:
True
ако обектът е екземпляр или подклас на клас или който и да е елемент от кортежаFalse
в противен случай
Ако classinfo не е тип или набор от типове, TypeError
се повдига изключение.
Пример 1: Как работиinstance ()?
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) екземпляр на дикт? Фалшив (1, 2, 3) екземпляр на дикт или списък? Истински 5 екземпляра от списък? Фалшив 5 екземпляр на int? Вярно