Какво е Isinstance в Python и как да го приложим?



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

е един от най-мощните програмни езици, налични на пазара днес. Python също поддържа внедряване на други програмни езици в своята екосистема като Java, C, както и C ++. От многото модули и функции, които са налични в екосистемата на Python, един такъв, който се откроява сред останалите, е isinstance в Python. По този начин в тази статия ще говорим подробно за обстоятелството, неговото използване и характеристиките, които той предлага на масата.

Следните указания ще бъдат обхванати в тази статия,





Нека да започнем!

Какво е Isinstance в Python?

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



Синтаксисът на isinstance в Python е както следва.

stl сортиране c ++
isinstance (обект, информация за клас)

Нека да видим какви параметри и върната стойност има Isinstance в Python,



Параметър и възвръщаема стойност на Isinstance

Параметър

След като вече сте наясно със синтаксиса на isinstance, нека разгледаме по-отблизо параметъра, който той взема под внимание.

  1. Обект: Това е обектът, който трябва да бъде проверен.
  2. Classinfo: Това е класът, информацията или набор от класове, за които обектът трябва да бъде проверен.

Върната стойност

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

  1. True се връща, ако обектът е подклас на classinfo или набор от класове.
  2. False се връща, ако обектът не е подклас на classinfo или набор от класове.

Ако в определена ситуация, classinfo не е тип или набор от типове, тогава на екрана на потребителя се извежда изключение за грешка на типа.

Примери

За да разберем по-добре употребата на isinstance, нека разгледаме няколко примера.

Пример # 1

клас Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))

Изход

Вярно

Невярно

Вярно

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

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

Изход

[1, 2, 3] екземпляр на списък? Вярно

[1, 2, 3] инстанция на дикт? Невярно

[1, 2, 3] екземпляр от изречение или списък? Вярно

5 екземпляра от списък? Невярно

5 екземпляра на int? Вярно

Пример # 3

# Python код за тест клас isinstance (): 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, която се използва по време на изпълнение. Ако през метода type се предаде един аргумент или обект, той връща типа на обекта, който се използва по време на изпълнение.

За да разберете това по-добре, разгледайте примера по-долу.

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

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

Изход

фибоначи рекурсивен c ++

клас ‘int’

клас ‘str’

клас „списък“

Пример # 1.2

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

Изход

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

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

Нека сравним Type и Isinstance в Python,

Разлика между Type () и Isinstance

Type и isinstance в Python изпълняват две много различни функции. Погледнете указателите по-долу, за да разберете по-добре разликата между тях.

  1. Ако трябва да проверите дали даден обект има определен тип, най-добре е да използвате isinstance. Това е така, защото isinstance ще може да провери дали обектът, предаден в първия аргумент, е от същия тип като този, предаден във втория аргумент.
  2. От друга страна, използването на type е по-предпочитано, когато трябва просто да проверите типа на даден обект и да не го сравнявате с друг.

Пример

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

Изход

SampleOutput

Лисица

Мечка

Друга причина да не се използва методът type е липсата на наследство. Разгледайте примерите, споделени по-долу, за да разберете по-добре това.

#python код, за да илюстрира липсата на #support за наследяване в тип () клас MyDict (dict): '' 'Нормален дикт, който винаги се създава с' начален 'ключ' '' def __init __ (self): self [ 'първоначално'] = 'някои данни' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (тип (d) == MyDict)

Изход

изпълнение на сливане на сортиране c ++

Невярно

Вярно

Вярно

Невярно

Това момчета, това ни води до края на тази статия. Надявам се, че сте разбрали Isinstance в Python и какво прави.

За да получите задълбочени познания за Python заедно с различните му приложения, можете за онлайн обучение на живо с 24/7 поддръжка и доживотен достъп.

Имате въпрос към нас? Споменете ги в раздела за коментари на тази статия и ние ще се свържем с вас.