logo

Python isinstance() -menetelmä

Python isinstance()-funktio palauttaa True, jos objekti on määritettyä tyyppiä, ja jos se ei täsmää, palauttaa False. Tässä artikkelissa näemme kuinka isinstance()-menetelmä toimii Pythonissa

Esimerkki



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

Python isinstance() -funktion syntaksi

Isinstance()-menetelmä in Python on seuraava syntaksi:

Syntaksi:

java lista

instance (objekti, luokka)



Parametrit:

  • obj: Objekti, joka on tarkistettava osana luokkaa tai ei.
  • luokka: luokka/tyyppi/luokka tai tyyppi, jonka suhteen objekti on tarkistettava.

Palautukset: Totta, jos objekti kuuluu annettuun luokkaan/tyyppiin, jos yksi luokka on välitetty, tai mikä tahansa luokka/tyyppi, jos luokan/tyypin monikko välitetään, muussa tapauksessa palauttaa False.

Tyyppivirhe: jos jotain muuta kuin mainittu kelvollinen luokkatyyppi.



Kuinka instance()-funktio toimii Pythonissa?

Pythonissa instance()-menetelmä toimii kuin vertailuoperaattori. Se vaatii kaksi argumenttia, toinen on Python-objekti ja toinen on luokkatyyppi. Se vertaa objektia tietyntyyppiseen luokkaan tai alaluokkaan ja palauttaa loogisen arvon, joka on joko tosi tai epätosi.

Python 3




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

>

>

Lähtö

The variable 'numbers' is an instance of a list.>

Esimerkkejä isinstance()-menetelmästä Pythonissa

Voimme tarjota yhden luokkatyypin tai a Python monikko luokkien instanssi()-metodiin. Monikon tapauksessa instance()-metodi tarkistaa kaikki monikon elementit ja palauttaa True-arvon, jos objekti on jonkin monikon elementin esiintymä, muuten se palauttaa False. Katsotaanpa muutama esimerkki Python-instanssi()-menetelmästä.

Python-instanssi, jossa on Int ja List

Tässä esimerkissä näemme, kuinka isinstance()-metodi toimii Integer-tietotyypin ja kanssa Python-lista . Tarkistamme, ovatko kokonaisluku ja luettelo kokonaisluku- vai merkkijonotyyppisiä esiintymiä.

Python 3




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

kolminkertainen talvi

>

>

Lähtö

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>

Isinstance():n käytön osoittaminen objektien kanssa

Tässä esimerkissä tarkistamme objektin luokan Pythonissa eli onko objekti luokan esiintymä vai siitä johdettu luokka.

Python 3




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

>

>

Lähtö

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

Tässä esimerkissä käytämme isinstance()-funktiota a:n kanssa Python-merkkijono ja tarkista objektin luokka Pythonissa.

Python 3




test_str>=> 'techcodeview.com'> print> (>'Is test_str string? : '> +> str>(>isinstance>(test_str,>str>)))>

>

palautustyyppi javassa
>

Lähtö

Is test_str string? : True>

Python isinstance() sanakirjalla

Python isinstance() -menetelmä toimii myös a sanakirja objekti ja tarkista objektin luokka Pythonissa.

Python 3




test_dict>=> {>'apple'> :>1>,>'Ball'> :>2> }> print> (>'Is test_str dictionary? : '> +> str>(>isinstance>(test_dict,>dict>)))>

>

>

Lähtö

Is test_str dictionary? : True>

Python-instanssi luokkamenetelmillä

Tässä esimerkissä käytämme isinstance()-menetelmää tarkistaaksemme tietyn tyyppisen luokkafunktion palauttaman arvon ja objektin luokan Pythonissa.

Python 3




class> geeks:> >course>=> 'DSA'> > >def> purchase(obj):> >return> obj.course> > > geeks.purchase>=> classmethod>(geeks.purchase)> str>(>isinstance>(geeks.purchase(),>str>))>

>

>

Lähtö

True>

Ero isinstance()- ja type()-menetelmien välillä Pythonissa

Seuraava taulukko osoittaa erot isinstance()-metodin ja the tyyppi() menetelmä Pythonissa.

isinstance()

tyyppi()

Syntaksi: isinstance(objekti, luokka) Syntaksi: tyyppi(objekti)

Se tarkistaa, onko objekti tiettyä luokkatyyppiä

Se palauttaa objektin luokkatyypin

dfa automata esimerkkejä

Se voi tarkistaa, kuuluuko objekti luokkaan ja sen alaluokkiin

Se ei voi käsitellä perintöä

Se on nopeampi verrattuna tyyppiin () Se on hitaampi kuin isinstance()
Se palauttaa joko True tai False Se palauttaa objektin tyypin
Se voi tarkistaa useita luokkia kerrallaan Se ei voi tehdä tätä
Esimerkki: isinstance(10, (int, str)) Esimerkki: tyyppi (10)