logo

Metoda Python isinstance().

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)