Funkcija Python isinstance(). vrne True, če je objekt določene vrste, in če se ne ujema, vrne False. V tem članku bomo videli, kako metoda isinstance() deluje v Pythonu
Primer
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.>
Sintaksa funkcije Python isinstance().
Metoda isinstance() v Python ima naslednjo sintakso:
Sintaksa:
isinstance(obj, razred)
Parametri:
- predmet: Objekt, ki ga je treba preveriti kot del razreda ali ne.
- razred: razred/tip/torka razreda ali tipa, glede na katerega objekt je treba preveriti.
Vrnitve: Res je, če objekt pripada danemu razredu/tipu, če je predan en sam razred, ali kateremu koli razredu/tipu, če je predan nabor razreda/tipa, sicer vrne False.
TypeError: če je kaj drugega kot omenjena veljavna vrsta razreda.
Kako deluje funkcija instance() v Pythonu?
V Pythonu metoda instance() deluje kot primerjalni operator. Potrebuje dva argumenta, eden je objekt Python, drugi pa tip razreda. Objekt primerja z določeno vrsto razreda ali podrazreda in vrne logično vrednost, ki je True ali False.
Python3
java pretvori int v niz
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.'>)> |
>
>Izhod
The variable 'numbers' is an instance of a list.>
Primeri metode isinstance() v Pythonu
Zagotovimo lahko eno vrsto razreda ali a Python tuple razredov v metodo instance(). V primeru tuple metoda instance() preveri vse elemente v tuple in vrne True, če je objekt primerek katerega koli od elementov tuple, sicer vrne False. Oglejmo si nekaj primerov metode Python instance().
Python je instanca z Int in List
V tem primeru bomo videli, kako metoda isinstance() deluje s podatkovnim tipom Integer in z Seznam Python . Preverimo, ali sta celo število in seznam primerek tipa Integer ali 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>))))> |
>
algoritem za binarno iskanje
>Izhod
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>
Prikaz uporabe isinstance() s predmeti
V tem primeru bomo preverili razred predmeta v Pythonu, tj. ali je objekt primerek razreda ali njegov izpeljan razred.
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)))> |
>
>Izhod
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() z nizom
V tem primeru bomo uporabili funkcijo isinstance() z a Python String in preverite razred predmeta v Pythonu.
Python3
test_str>=> 'techcodeview.com'> print> (>'Is test_str string? : '> +> str>(>isinstance>(test_str,>str>)))> |
>
>Izhod
vlc za prenos youtube
Is test_str string? : True>
Python isinstance() s slovarjem
Metoda Python isinstance() deluje tudi z a slovar objekt in preverite razred predmeta v Pythonu.
Python3
test_dict>=> {>'apple'> :>1>,>'Ball'> :>2> }> print> (>'Is test_str dictionary? : '> +> str>(>isinstance>(test_dict,>dict>)))> |
>
>Izhod
Is test_str dictionary? : True>
Python je instanca z metodami razreda
V tem primeru uporabljamo metodo isinstance(), da preverimo vrednost, ki jo vrne funkcija razreda z določeno vrsto, in preverimo razred predmeta v Pythonu.
Python3
class> geeks:> >course>=> 'DSA'> > >def> purchase(obj):> >return> obj.course> > > geeks.purchase>=> classmethod>(geeks.purchase)> str>(>isinstance>(geeks.purchase(),>str>))> |
>
>
Izhod
True>
Razlika med metodama isinstance() in type() v Pythonu
Naslednja tabela prikazuje razlike med metodo isinstance() in metodo tip() metoda v Pythonu.
| isinstance() | tip() |
|---|---|
| Sintaksa: isinstance(objekt, razred) | Sintaksa: tip(objekt) |
| Preveri, ali je predmet določene vrste razreda | Vrne vrsto razreda predmeta zakaj je niz nespremenljiv v Javi |
| Lahko preveri, ali predmet pripada razredu in njegovim podrazredom | Ne more se ukvarjati z dediščino |
| Je hitrejši v primerjavi s type() | Je počasnejši od isinstance() |
| Vrne True ali False | Vrne vrsto predmeta |
| Lahko preveri več razredov hkrati | Tega ne more storiti |
| primer: isinstance(10, (int, str)) | primer: vrsta (10) |