Python isinstance()-Methode

Python-Funktion isinstance() Gibt „True“ zurück, wenn das Objekt einen bestimmten Typ hat, und wenn es nicht übereinstimmt, wird „False“ zurückgegeben. In diesem Artikel werden wir sehen, wie die Methode isinstance() in Python funktioniert

Beispiel

  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. 

Syntax der Python-Funktion isinstance()

Die isinstance()-Methode in Python hat die folgende Syntax:

Syntax:

isinstance(obj, class)

Parameter:

  • obj: Das Objekt, das als Teil der Klasse überprüft werden muss oder nicht.
  • Klasse : Klasse/Typ/Tupel der Klasse oder des Typs, gegen das das Objekt geprüft werden muss.

Kehrt zurück : True, wenn das Objekt zu der angegebenen Klasse/dem angegebenen Typ gehört, wenn eine einzelne Klasse übergeben wird, oder zu einer der Klassen/Typen, wenn ein Tupel der Klasse/des Typs übergeben wird, andernfalls wird False zurückgegeben.

TypeError: wenn etwas anderes als der erwähnte gültige Klassentyp.

Wie funktioniert die Funktion „instance()“ in Python?

In Python funktioniert die Methode „instance()“ wie ein Vergleichsoperator. Es benötigt zwei Argumente, eines ist ein Python-Objekt und das andere ist ein Klassentyp. Es vergleicht das Objekt mit einem angegebenen Klassentyp oder einer Unterklasse und gibt einen booleschen Wert zurück, der entweder True oder False ist.

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

Ausgabe

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

Beispiele für die isinstance()-Methode in Python

Wir können einen einzelnen Klassentyp oder einen bereitstellen Python-Tupel von Klassen zur Instanz()-Methode. Im Fall eines Tupels prüft die Methode „instance()“ alle Elemente im Tupel und gibt „True“ zurück, wenn das Objekt eine Instanz eines der Elemente des Tupels ist, andernfalls gibt sie „False“ zurück. Sehen wir uns einige Beispiele der Python-Methode „instance()“ an.

Python ist eine Instanz mit Int und List

In diesem Beispiel werden wir sehen, wie die Methode isinstance() mit einem Integer-Datentyp und mit funktioniert Python-Liste . Wir prüfen, ob die Ganzzahl und die Liste eine Instanz eines Integer- oder String-Typs sind.

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

Ausgabe

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 

Demonstration der Verwendung von isinstance() mit Objekten

In diesem Beispiel prüfen wir die Klasse eines Objekts in Python, d. h. ob ein Objekt eine Instanz einer Klasse oder ihrer abgeleiteten Klasse ist.

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

Ausgabe

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

In diesem Beispiel verwenden wir die Funktion isinstance() mit a Python-String und überprüfen Sie die Klasse eines Objekts in Python.

Python3




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

Ausgabe

Is test_str string? : True 

Python isinstance() mit Dictionary

Die Python-Methode isinstance() funktioniert auch mit a Wörterbuch Objekt und überprüfen Sie die Klasse eines Objekts in Python.

Python3




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

Ausgabe

Is test_str dictionary? : True 

Python ist eine Instanz mit Klassenmethoden

In diesem Beispiel verwenden wir die Methode isinstance(), um den von einer Klassenfunktion mit einem angegebenen Typ zurückgegebenen Wert und die Klasse eines Objekts in Python zu überprüfen.

Python3




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

Ausgabe

True 

Unterschied zwischen den Methoden isinstance() und type() in Python

Die folgende Tabelle zeigt die Unterschiede zwischen der isinstance()-Methode und der Typ() Methode in Python.

isinstance()

Typ()

Syntax: isinstance(object, class) Syntax: Typ(Objekt)

Es prüft, ob ein Objekt einem bestimmten Klassentyp angehört

Es gibt den Klassentyp eines Objekts zurück

Es kann prüfen, ob das Objekt zu einer Klasse und ihren Unterklassen gehört

Es kann sich nicht mit der Vererbung befassen

Es ist schneller als type() Es ist langsamer als isinstance()
Es gibt entweder True oder False zurück Es gibt den Typ des Objekts zurück
Es kann gleichzeitig nach mehreren Klassen gesucht werden Dies ist nicht möglich
Beispiel: isinstance(10, (int, str)) Beispiel: Typ(10)