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