Функція 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) |