Funkcia Python isinstance(). vráti hodnotu True, ak je objekt špecifikovaného typu, a ak sa nezhoduje, vráti hodnotu False. V tomto článku uvidíme, ako metóda isinstance() funguje v Pythone
Príklad
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.>
Syntax funkcie isinstance() Pythonu
Metóda isinstance() v Python má nasledujúcu syntax:
Syntax:
inak ako javaisinstance(obj, class)
parametre:
- obj : Objekt, ktorý je potrebné skontrolovať ako súčasť triedy alebo nie.
- trieda : trieda/typ/nica triedy alebo typu, voči ktorej je potrebné objekt kontrolovať.
Návraty: Pravda, ak objekt patrí do danej triedy/typu, ak je odovzdaná jedna trieda, alebo do ktorejkoľvek triedy/typu, ak je odovzdaná n-tica triedy/typu, inak vráti hodnotu False.
TypeError: ak je niečo iné ako uvedený platný typ triedy.
Ako funguje funkcia instance() v Pythone?
V Pythone metóda instance() funguje ako operátor porovnávania. Vyžaduje dva argumenty, jeden je objekt Pythonu a druhý je typ triedy. Porovná objekt so špecifikovaným typom triedy alebo podtriedy a vráti boolovskú hodnotu, ktorá je buď True alebo 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.'>)> |
>
>Výkon
The variable 'numbers' is an instance of a list.>
Príklady metódy isinstance() v Pythone
Môžeme poskytnúť jeden typ triedy alebo a Pythonská n-tice tried na metódu instance(). V prípade n-tice metóda instance() skontroluje všetky prvky v n-tici a vráti hodnotu True, ak je objekt inštanciou ktoréhokoľvek z prvkov n-tice, inak vráti hodnotu False. Pozrime sa na niekoľko príkladov metódy Python instance().
Python je inštancia s Int a List
V tomto príklade uvidíme, ako metóda isinstance() funguje s dátovým typom Integer as Zoznam Python . Skontrolujeme, či celé číslo a zoznam sú inštanciou typu Integer alebo 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>))))> |
>
mestá v Austrálii
>Výkon
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>
Ukážka použitia isinstance() s objektmi
V tomto príklade skontrolujeme triedu objektu v Pythone, tj či je objekt inštanciou triedy alebo jej odvodenej triedy.
Python3
urobiť while slučku v jave
# 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)))> |
>
>Výkon
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() s reťazcom
V tomto príklade použijeme funkciu isinstance() s a Reťazec Python a skontrolujte triedu objektu v Pythone.
Python3
test_str>=> 'techcodeview.com'> print> (>'Is test_str string? : '> +> str>(>isinstance>(test_str,>str>)))> |
>
>Výkon
Is test_str string? : True>
Python isinstance() so slovníkom
Metóda Python isinstance() funguje aj s a slovník objekt a skontrolujte triedu objektu v Pythone.
Python3
selénový tutoriál java
test_dict>=> {>'apple'> :>1>,>'Ball'> :>2> }> print> (>'Is test_str dictionary? : '> +> str>(>isinstance>(test_dict,>dict>)))> |
>
>Výkon
Is test_str dictionary? : True>
Python je inštancia s metódami triedy
V tomto príklade používame metódu isinstance() na kontrolu hodnoty vrátenej funkciou triedy so zadaným typom a kontrolu triedy objektu v Pythone.
Python3
class> geeks:> >course>=> 'DSA'> > >def> purchase(obj):> >return> obj.course> > > geeks.purchase>=> classmethod>(geeks.purchase)> str>(>isinstance>(geeks.purchase(),>str>))> |
>
>
Výkon
riadkový príkaz autocad
True>
Rozdiel medzi metódami isinstance() a type() v Pythone
Nasledujúca tabuľka ukazuje rozdiely medzi metódou isinstance() a metódou typ() metóda v Pythone.
| isinstance() | typ() |
|---|---|
| Syntax: isinstance(objekt, trieda) | Syntax: typ (objekt) |
| Kontroluje, či je objekt špecifického typu triedy | Vráti typ triedy objektu |
| Môže skontrolovať, či objekt patrí do triedy a jej podtried | Nemôže riešiť dedičstvo |
| Je rýchlejší v porovnaní s typom () | Je pomalší ako isinstance() |
| Vráti hodnotu True alebo False | Vráti typ objektu |
| Môže kontrolovať viacero tried naraz | Nemôže to urobiť |
| Príklad: isinstance(10, (int, str)) | Príklad: typ (10) |