logo

Python isinstance() metod

Python isinstance() funktion returnerar True om objektet är av specificerad typ, och om det inte matchar returnerar False. I den här artikeln kommer vi att se hur isinstance()-metoden fungerar i Python

jlist

Exempel



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

Metoden isinstance() i Pytonorm har följande syntax:

Syntax:

isinstans(objekt, klass)



Parametrar:

  • obj: Objektet som måste kontrolleras som en del av klassen eller inte.
  • klass : klass/typ/tupel av klass eller typ, mot vilket objektet måste kontrolleras.

Returnerar: Sant, om objekt tillhör den givna klassen/typen om en enda klass godkänns eller någon av klassen/typen om tuppel av klass/typ är godkänd, returnerar annars False.

Skrivfel: om något annat än nämnt giltig klasstyp.



Hur fungerar instans()-funktionen i Python?

I Python fungerar metoden instance() som en jämförelseoperator. Det krävs två argument, ett är ett Python-objekt och det andra är en klasstyp. Den jämför objektet med en specificerad typ av klass eller en underklass och returnerar ett booleskt värde, det vill säga antingen 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.'>)>

>

>

Produktion

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

Exempel på metod isinstance() i Python

Vi kan tillhandahålla en enskild klasstyp eller en Python tuppel av klasser till metoden instans(). I fallet med en tupel kontrollerar metoden instance() efter alla element i tupeln och returnerar True om objektet är en instans av något av elementen i tupeln, annars returnerar den False. Låt oss se några exempel på Python-instance()-metoden.

Python är en instans med Int och List

I det här exemplet kommer vi att se hur metoden isinstance() fungerar med en heltalsdatatyp och med Python lista . Vi kontrollerar om heltal och listan är en instans av ett heltal eller av typen 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>))))>

>

>

Produktion

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>

Demonstrerar användningen av isinstance() med objekt

I det här exemplet kommer vi att kontrollera ett objekts klass i Python, dvs om ett objekt är en instans av en klass eller dess härledda klass.

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

>

>

Produktion

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 det här exemplet kommer vi att använda funktionen isinstance() med a Python sträng och kontrollera ett objekts klass i Python.

Python3




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

>

>

Produktion

python sort tupel
Is test_str string? : True>

Python isinstance() med Dictionary

Python isinstance()-metoden fungerar också med en lexikon objekt och kontrollera ett objekts klass i Python.

Python3




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

>

>

Produktion

Is test_str dictionary? : True>

Python är en instans med klassmetoder

I det här exemplet använder vi metoden isinstance() för att kontrollera värdet som returneras av en klassfunktion med en specificerad typ och kontrollera ett objekts klass i Python.

Python3




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

>

>

Produktion

True>

Skillnad mellan metoderna isinstance() och type() i Python

Följande tabell visar skillnaderna mellan metoden isinstance() och metoden typ() metod i Python.

isinstance()

typ()

Syntax: isinstance(objekt, klass) Syntax: typ(objekt)

Den kontrollerar om ett objekt är av en specifik klasstyp

Den returnerar klasstypen för ett objekt

Den kan kontrollera om objektet tillhör en klass och dess underklasser

Det kan inte hantera arv

Det är snabbare jämfört med typ() Det är långsammare än isinstance()
Det returnerar antingen True eller False Den returnerar typen av objekt
Det kan söka efter flera klasser samtidigt Den kan inte göra detta
Exempel: isinstance(10, (int, str)) Exempel: typ(10)