logo

metóda Python isinstance().

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 java

isinstance(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)