Что такое экземпляр в Python и как его реализовать?



Эта статья познакомит вас с методом Isinstance в Python и предоставит подробное концептуальное объяснение с демонстрацией.

- один из самых мощных языков программирования, доступных сегодня на рынке. Python также поддерживает реализацию других языков программирования в своей экосистеме, таких как Java, C, а также C ++. Из множества модулей и функций, доступных в экосистеме Python, одним из таких, которые выделяются среди остальных, является isinstance в Python. Таким образом, в этой статье мы подробно поговорим об isinstance, его использовании и функциях, которые он привносит в таблицу.

Следующие указатели будут рассмотрены в этой статье,





Давайте начнем!

Что такое Isinstance в Python?

Python isinstance используется для проверки того, является ли первый объект, являющийся аргументом, экземпляром или подклассом класса classinfo, который является вторым аргументом.



Синтаксис isinstance в Python следующий.

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

Давайте посмотрим, какие параметры и возвращаемое значение имеет Isinstance в Python,



Параметр и возвращаемое значение Isinstance

Параметр

Теперь, когда вы знаете синтаксис для isinstance, давайте подробнее рассмотрим параметр, который он учитывает.

  1. Объект: это объект, который необходимо проверить.
  2. Classinfo: это класс, информация или кортеж классов, по которым нужно проверить объект.

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

Когда isinstance используется в программе, возвращаемое значение зависит от ряда условий, как объяснено в указателях ниже.

  1. Истина возвращается, если объект является подклассом информации о классе или кортежем классов.
  2. Возвращается false, если объект не является подклассом информации о классе или кортежем классов.

Если в конкретной ситуации classinfo не является типом или кортежем типов, то на экране пользователя возникает исключение typeerror.

Примеры

Чтобы лучше понять использование isinstance, давайте рассмотрим несколько примеров.

уроки Visual Studio для начинающих

Пример # 1

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

Вывод

Правда

Ложь

Правда

Isinstance в Python: пример # 2

числа = [1, 2, 3] результат = isinstance (числа, список) print (числа, 'экземпляр списка?', результат) результат = isinstance (числа, dict) print (числа, 'экземпляр dict?', результат ) result = isinstance (numbers, (dict, list)) print (numbers, 'instance of dict или list?', result) number = 5 result = isinstance (number, list) print (number, 'instance of list?', (число, 'экземпляр списка?', результат) результат = isinstance (число, целое число) print (число, 'экземпляр int?', результат)

Вывод

[1, 2, 3] экземпляр списка? Правда

[1, 2, 3] экземпляр dict? Ложь

[1, 2, 3] экземпляр словаря или списка? Правда

5 экземпляров списка? Ложь

php print_r в строку

5 экземпляров int? Правда

Пример # 3

# Python-код для isinstance () class Test: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple) , Тестовое задание)))

Вывод

Правда

Ложь

Правда

Давайте продолжим статью «Isinstance In Python» и разберемся с использованием метода Type,

Использование Type в Python

Подобно isinstance, в Python есть еще один встроенный метод, который используется для проверки переменной типа pf, которая используется во время выполнения. Если через метод типа передается один аргумент или объект, он возвращает тип объекта, который используется во время выполнения.

Чтобы лучше понять это, взгляните на приведенный ниже пример.

Isinstance в Python: пример # 1.1

# Python code type () с одним параметром объекта x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))

Вывод

класс «int»

класс «str»

класс 'список'

Пример # 1.2

# Python-код для type () с именем, # базами и параметром dict o1 = type ('X', (object,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) class test: a = 'Foo' b = 12 o2 = type ('Y', (test,), dict (a = 'Foo', b = 12)) print (type (o2)) печать (vars (o2))

Вывод

как использовать сортировку в c ++

{‘B’: 12, ‘a’: ‘Foo’, ‘__dict__’:, ‘__doc__’: None, ‘__weakref__’:}

{‘B’: 12, ‘a’: ‘Foo’, ‘__doc__’: None}

Давайте сравним Type и Isinstance в Python,

Разница между Type () и Isinstance

Тип и isinstance в Python выполняют две очень разные функции. Взгляните на указатели ниже, чтобы лучше понять разницу между ними.

  1. Если вам нужно проверить, имеет ли объект определенный тип, лучше всего использовать isinstance. Это потому, что isinstance сможет проверить, имеет ли объект, переданный в первом аргументе, тот же тип, что и объект, переданный во втором аргументе.
  2. С другой стороны, использование типа более предпочтительно, когда вам нужно просто проверить тип определенного объекта, а не сравнивать его с другим.

пример

#Python-код для иллюстрации класса утиной печати User (object): def __init __ (self, firstname): self.firstname = firstname @property def name (self): return self.firstname class Animal (object): pass class Fox (Animal) : name = 'Fox' class Bear (Animal): name = 'Bear' # Используйте атрибут .name (или свойство) независимо от типа для a в [User ('SampleOutput'), Fox (), Bear ()] : print (имя)

Вывод

SampleOutput

Лиса

нести

Еще одна причина не использовать метод типа - отсутствие наследования. Взгляните на приведенные ниже примеры, чтобы лучше понять это.

#python код, иллюстрирующий отсутствие # поддержки наследования в type () class MyDict (dict): '' 'Обычный dict, который всегда создается с' начальным 'ключом' '' def __init __ (self): self [ 'начальный'] = 'некоторые данные' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (введите (d) == MyDict)

Вывод

Ложь

Правда

Правда

Ложь

Итак, ребята, это подводит нас к концу этой статьи. Надеюсь, вы поняли Isinstance в Python и что он делает.

Чтобы получить более глубокие знания о Python и его различных приложениях, вы можете для онлайн-обучения с круглосуточной поддержкой и пожизненным доступом.

Есть вопрос к нам? Упомяните их в разделе комментариев к этой статье, и мы свяжемся с вами.