logo

Метод Python isinstance().

Функція Python isinstance(). повертає True, якщо об’єкт має вказані типи, а якщо він не збігається, повертає False. У цій статті ми побачимо, як працює метод isinstance() у Python

приклад

  Input:   isinstance([1, 2, 3], list)   Output:   True   Explanation:   The first parameter passed is of list type.   Input:   isinstance(10, str)   Output:   False   Explanation:   The first parameter, 10 is an integer and not a string.>

Синтаксис функції Python isinstance().

Метод isinstance() у Python має такий синтаксис:



Синтаксис:

isinstance(obj, клас)

Параметри:

  • об'єкт: Об’єкт, який потрібно перевірити як частину класу чи ні.
  • клас: клас/тип/кортеж класу чи типу, з яким потрібно перевірити об’єкт.

Повернення: Правда, якщо об’єкт належить до заданого класу/типу, якщо передається один клас, або будь-якого класу/типу, якщо передається кортеж класу/типу, інакше повертає False.

TypeError: якщо щось інше, крім згаданого дійсного типу класу.

java ще якщо

Як працює функція instance() у Python?

У Python метод instance() працює як оператор порівняння. Він приймає два аргументи, один — об’єкт Python, а інший — тип класу. Він порівнює об’єкт із визначеним типом класу або підкласу та повертає логічне значення, яке є True або False.

Python3




numbers>=> [>1>,>2>,>3>,>4>,>2>,>5>]> # Check if 'numbers' is an instance of a list> result>=> isinstance>(numbers,>list>)> if> result:> >print>(>'The variable 'numbers' is an instance of a list.'>)> else>:> >print>(>'The variable 'numbers' is not an instance of a list.'>)>

>

>

Вихід

The variable 'numbers' is an instance of a list.>

Приклади методу isinstance() у Python

Ми можемо надати один тип класу або a Кортеж Python класів до методу instance(). У випадку кортежу метод instance() перевіряє всі елементи в кортежі та повертає True, якщо об’єкт є екземпляром будь-якого з елементів кортежу, інакше він повертає False. Давайте подивимося кілька прикладів методу Python instance().

Python є екземпляром з Int і List

У цьому прикладі ми побачимо, як метод isinstance() працює з типом даних Integer і з Список Python . Ми перевіряємо, чи є ціле число та список екземпляром типу Integer або String.

Python3




# initializing native types> test_int>=> 5> test_list>=> [>1>,>2>,>3>]> # testing with isinstance> print>(>'Is test_int integer? : '> +> str>(>isinstance>(test_int,>int>)))> print>(>'Is test_int string? : '> +> str>(>isinstance>(test_int,>str>)))> print>(>'Is test_list integer? : '> +> str>(>isinstance>(test_list,>int>)))> print>(>'Is test_list list? : '> +> str>(>isinstance>(test_list,>list>)))> # testing with tuple> print>(>'Is test_int integer or list or string? : '> >+> str>(>isinstance>(test_int, (>int>,>list>,>str>))))>

>

>

Вихід

Is test_int integer? : True Is test_int string? : False Is test_list integer? : False Is test_list list? : True Is test_int integer or list or string? : True>

Демонстрація використання isinstance() з об’єктами

У цьому прикладі ми перевіримо клас об’єкта в Python, тобто чи є об’єкт екземпляром класу або його похідним класом.

Python3




# declaring classes> class> gfg1:> >a>=> 10> # inherited class> class> gfg2(gfg1):> >string>=> 'techcodeview.com'> # initializing objects> obj1>=> gfg1()> obj2>=> gfg2()> # checking instances> print>(>'Is obj1 instance of gfg1? : '> +> str>(>isinstance>(obj1, gfg1)))> print>(>'Is obj2 instance of gfg2? : '> +> str>(>isinstance>(obj2, gfg2)))> print>(>'Is obj1 instance of gfg2? : '> +> str>(>isinstance>(obj1, gfg2)))> # check inheritance case> # return true> print>(>'Is obj2 instance of gfg1? : '> +> str>(>isinstance>(obj2, gfg1)))>

>

>

Вихід

Is obj1 instance of gfg1? : True Is obj2 instance of gfg2? : True Is obj1 instance of gfg2? : False Is obj2 instance of gfg1? : True>

Python isinstance() із String

У цьому прикладі ми будемо використовувати функцію isinstance() з a Рядок Python і перевірити клас об’єкта в Python.

Python3




test_str>=> 'techcodeview.com'> print> (>'Is test_str string? : '> +> str>(>isinstance>(test_str,>str>)))>

>

>

Вихід

Is test_str string? : True>

Python isinstance() зі словником

Метод Python isinstance() також працює з a словник об’єкт і перевірити клас об’єкта в Python.

Python3




test_dict>=> {>'apple'> :>1>,>'Ball'> :>2> }> print> (>'Is test_str dictionary? : '> +> str>(>isinstance>(test_dict,>dict>)))>

>

>

Вихід

Is test_str dictionary? : True>

Python є екземпляром із методами класу

У цьому прикладі ми використовуємо метод isinstance(), щоб перевірити значення, яке повертає функція класу з указаним типом, і перевірити клас об’єкта в Python.

Python3




class> geeks:> >course>=> 'DSA'> > >def> purchase(obj):> >return> obj.course> > > geeks.purchase>=> classmethod>(geeks.purchase)> str>(>isinstance>(geeks.purchase(),>str>))>

>

>

Вихід

True>

Різниця між методами isinstance() і type() у Python

У наступній таблиці показано відмінності між методом isinstance() і тип() метод у Python.

isinstance()

тип()

Синтаксис: isinstance(об'єкт, клас) Синтаксис: тип (об'єкт)

Він перевіряє, чи належить об’єкт до певного типу класу

Він повертає тип класу об’єкта

Він може перевірити, чи належить об’єкт до класу та його підкласів

Він не може мати справу зі спадщиною

Це швидше порівняно з type() Це повільніше, ніж isinstance()
Він повертає True або False Він повертає тип об’єкта
Він може перевіряти кілька класів одночасно Він не може цього зробити
приклад: isinstance(10, (int, str)) приклад: тип(10)