logo

Python isinstance() metode

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)