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