Python isinstance() funksjon returnerer True hvis objektet er av spesifisert type, og hvis det ikke samsvarer, returnerer False. I denne artikkelen vil vi se hvordan isinstance()-metoden fungerer i Python
Eksempel
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() Funksjonssyntaks
Metoden isinstance() i Python har følgende syntaks:
Syntaks:
isinstans(objekt, klasse)
Parametere:
- obj: Objektet som må sjekkes som en del av klassen eller ikke.
- klasse: klasse/type/tuppel av klasse eller type, som objektet må kontrolleres mot.
Returnerer: Sant, hvis objektet tilhører den gitte klassen/typen hvis enkelt klasse er bestått eller noen av klassen/typen hvis tuppel av klasse/type er bestått, returnerer else False.
TypeError: hvis noe annet enn nevnt gyldig klassetype.
Hvordan fungerer instans()-funksjonen i Python?
I Python fungerer instance()-metoden som en sammenligningsoperator. Det krever to argumenter, det ene er et Python-objekt og det andre er en klassetype. Den sammenligner objektet med en spesifisert type klasse eller en underklasse og returnerer en boolsk verdi, som er enten True eller False.
Python3
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.'>)> |
>
>Produksjon
The variable 'numbers' is an instance of a list.>
Eksempler på isinstance()-metoden i Python
Vi kan tilby en enkelt klassetype eller en Python tuppel av klasser til instance()-metoden. Når det gjelder en tuppel, sjekker instance()-metoden for alle elementene i tupelen og returnerer True hvis objektet er en forekomst av et av elementene i tupelen, ellers returnerer den False. La oss se noen eksempler på Python instance()-metoden.
Python er en instans med Int og List
I dette eksemplet vil vi se hvordan isinstance()-metoden fungerer med en Integer-datatype og med Python-liste . Vi sjekker om heltall og listen er en forekomst av et heltall eller av typen streng.
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>))))> |
>
>Produksjon
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>
Demonstrere bruken av isinstance() med objekter
I dette eksemplet vil vi sjekke et objekts klasse i Python, dvs. om et objekt er en forekomst av en klasse eller dens avledede klasse.
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)))> |
>
>Produksjon
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() med String
I dette eksemplet vil vi bruke funksjonen isinstance() med en Python-streng og sjekk et objekts klasse i Python.
Python3
test_str>=> 'techcodeview.com'> print> (>'Is test_str string? : '> +> str>(>isinstance>(test_str,>str>)))> |
>
>Produksjon
Is test_str string? : True>
Python isinstance() med ordbok
Python isinstance()-metoden fungerer også med en ordbok objekt og sjekk et objekts klasse i Python.
Python3
test_dict>=> {>'apple'> :>1>,>'Ball'> :>2> }> print> (>'Is test_str dictionary? : '> +> str>(>isinstance>(test_dict,>dict>)))> |
>
>Produksjon
Is test_str dictionary? : True>
Python er en instans med klassemetoder
I dette eksemplet bruker vi metoden isinstance() for å sjekke verdien returnert av en klassefunksjon med en spesifisert type og sjekke et objekts klasse i Python.
Python3
string.format java
class> geeks:> >course>=> 'DSA'> > >def> purchase(obj):> >return> obj.course> > > geeks.purchase>=> classmethod>(geeks.purchase)> str>(>isinstance>(geeks.purchase(),>str>))> |
>
>
Produksjon
True>
Forskjellen mellom isinstance() og type()-metoder i Python
Tabellen nedenfor viser forskjellene mellom isinstance()-metoden og type() metode i Python.
| isinstance() | type() |
|---|---|
| Syntaks: isinstance(objekt, klasse) | Syntaks: type(objekt) |
| Den sjekker om et objekt er av en bestemt klassetype | Den returnerer klassetypen til et objekt |
| Den kan sjekke om objektet tilhører en klasse og dens underklasser | Den kan ikke håndtere arv |
| Det er raskere sammenlignet med type() | Det er tregere enn isinstance() |
| Den returnerer enten True eller False | Den returnerer typen til objektet |
| Den kan se etter flere klasser om gangen | Den kan ikke gjøre dette |
| Eksempel: isinstance(10, (int, str)) | Eksempel: type(10) |