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