Функція isinstance() перевіряє, чи є об’єкт (перший аргумент) екземпляром/об’єктом або підкласом класу (другий аргумент). Наприклад:
|
1 2 3 4 5 |
numbers = [1, 2, 3, 4, 2, 5] # Перевіряємо, чи є numbers об'єктом класу list result = isinstance(numbers, list) print(result) |
Результат:
True
Синтаксис функції isinstance()
|
1 |
isinstance(object, classinfo) |
Параметри функції isinstance()
Функція isinstance() приймає два параметри:
object — об’єкт, який потрібно перевірити;
classinfo — клас, тип або кортеж класів та типів.
Значення, яке повертає функція isinstance()
Функція isinstance() повертає:
True, якщо object є об’єктом або підкласом класу, або будь-яким елементом кортежу;
False в іншому випадку.
Якщо параметр classinfo не є типом або кортежем типів, то генерується виняток TypeError.
Приклад №1: Як працює функція isinstance()?
|
1 2 3 4 5 6 7 8 |
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo))) |
Результат:
True
False
True
Приклад №2: Робота функції isinstance() із вбудованими типами
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
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] instance of list? True
[1, 2, 3] instance of dict? False
[1, 2, 3] instance of dict or list? True
5 instance of list? False
5 instance of int? True
