logo

Python isinstance()-methode

Python isinstance()-functie retourneert True als het object van een opgegeven type is, en retourneert False als het niet overeenkomt. In dit artikel zullen we zien hoe de isinstance()-methode werkt in Python

Voorbeeld



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

De isinstance() methode in Python heeft de volgende syntaxis:

Syntaxis:

isinstance(obj, klasse)



Parameters:

  • obj: Het object dat moet worden gecontroleerd als onderdeel van de klasse of niet.
  • klas : klasse/type/tupel van klasse of type, waartegen het object moet worden gecontroleerd.

Geeft terug : Waar, als het object tot de gegeven klasse/type behoort als een enkele klasse wordt doorgegeven of tot een klasse/type als een tupel van klasse/type wordt doorgegeven, retourneert anders False.

TypeError: als er iets anders is dan het genoemde geldige klassetype.



Hoe werkt de instance()-functie in Python?

In Python werkt de instance()-methode als een vergelijkingsoperator. Er zijn twee argumenten nodig: het ene is een Python-object en het andere is een klassetype. Het vergelijkt het object met een opgegeven type klasse of een subklasse en retourneert een Booleaanse waarde, die True of False is.

Python3

Java sorteert een arraylist




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

>

>

Uitvoer

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

Voorbeelden van isinstance()-methode in Python

We kunnen een enkel klassetype of een Python-tupel van klassen aan de instance() methode. In het geval van een tuple controleert de methode instance() op alle elementen in de tuple en retourneert True als het object een instantie is van een van de elementen van de tuple. Anders retourneert de methode False. Laten we een paar voorbeelden bekijken van de Python instance() -methode.

Python is een instantie met Int en List

In dit voorbeeld zullen we zien hoe de isinstance() -methode werkt met een Integer-gegevenstype en met Python-lijst . We controleren of het gehele getal en de lijst een exemplaar zijn van het type Integer of 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>))))>

>

>

Uitvoer

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>

Het gebruik van isinstance() met objecten demonstreren

In dit voorbeeld zullen we de klasse van een object in Python controleren, dat wil zeggen of een object een instantie is van een klasse of de daarvan afgeleide 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)))>

>

>

Uitvoer

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() met String

In dit voorbeeld gebruiken we de functie isinstance() met a Python-snaar en controleer de klasse van een object in Python.

Python3




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

>

script uitvoerbaar maken
>

Uitvoer

Is test_str string? : True>

Python isinstance() met woordenboek

De Python isinstance()-methode werkt ook met a woordenboek object en controleer de klasse van een object in Python.

Python3


jpa in het voorjaar



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

>

>

Uitvoer

Is test_str dictionary? : True>

Python is een instantie met klassemethoden

In dit voorbeeld gebruiken we de isinstance()-methode om de waarde te controleren die wordt geretourneerd door een klassefunctie met een opgegeven type en om de klasse van een object in Python te controleren.

Python3




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

>

>

Uitvoer

True>

Verschil tussen isinstance() en type() methoden in Python

De volgende tabel laat de verschillen zien tussen de isinstance() -methode en de type() methode in Python.

isinstance()

type()

Syntaxis: isinstance(object, klasse) Syntaxis: type(object)

Het controleert of een object van een specifiek klassetype is

Het retourneert het klassetype van een object

Het kan controleren of het object tot een klasse en zijn subklassen behoort

Het kan niet omgaan met erfenissen

Het is sneller in vergelijking met type() Het is langzamer dan isinstance()
Het retourneert Waar of Onwaar Het retourneert het type van het object
Het kan meerdere klassen tegelijk controleren Dit kan niet
Voorbeeld: isinstance(10, (int, str)) Voorbeeld: soort(10)