isinstance - проверка типа объекта в Python
Функция isinstance в языке программирования Python используется для проверки принадлежности объекта определенному классу или типу данных. Она позволяет программистам проверять, является ли объект экземпляром определенного класса или его производных, либо является ли объект указанного типа данных.
Синтаксис функции isinstance выглядит следующим образом:
isinstance(объект, класс)
Где:
объектпредставляет собой переменную, которую мы хотим проверить на принадлежность классу или типу данных;класс- это класс или тип данных, с которым мы хотим сравнить объект.
Функция isinstance возвращает логическое значение True, если объект является экземпляром указанного класса или его производных, либо является объектом указанного типа данных. В противном случае, функция возвращает логическое значение False.
Представим, у нас есть класс "Фигура", который определяет базовые свойства и методы для геометрических фигур, а также подклассы, такие как "Круг" и "Прямоугольник". Мы можем использовать функцию isinstance для проверки объектов разных типов на их принадлежность к определенному классу или типу данных.
Примеры кода:
1. Проверка на принадлежность к классу "Фигура":
<pre><code class="python">
class Фигура:
def __init__(self):
pass
class Круг(Фигура):
def __init__(self):
Фигура.__init__(self)
class Прямоугольник(Фигура):
def __init__(self):
Фигура.__init__(self)
фигура = Фигура()
круг = Круг()
прямоугольник = Прямоугольник()
print(isinstance(фигура, Фигура)) # True
print(isinstance(круг, Фигура)) # True
print(isinstance(прямоугольник, Фигура)) # True
</code></pre>
2. Проверка типа данных:
<pre><code class="python">
число = 10
строка = "Привет, мир!"
print(isinstance(число, int)) # True
print(isinstance(строка, str)) # True
</code></pre>
Функция isinstance также позволяет проверять объекты на принадлежность к нескольким классам или типам данных, передавая второй аргумент как кортеж или список классов или типов данных.
Пример проверки на принадлежность к нескольким классам:
<pre><code class="python">
class А:
pass
class Б:
pass
class В(Б):
pass
a = А()
b = Б()
c = В()
print(isinstance(c, (А, Б))) # True
</code></pre>
В данном примере, объект c является экземпляром классов А и Б, поэтому функция isinstance возвращает True.
Таким образом, функция isinstance является полезным инструментом для проверки принадлежности объекта к определенному классу или типу данных в языке программирования Python. Она позволяет нам выполнять различные действия в зависимости от типа объекта, что делает наши программы более гибкими и модульными.