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