Die Funktion isinstance () prüft, ob das Objekt (erstes Argument) eine Instanz oder Unterklasse der Klasse classinfo (zweites Argument) ist.
Die Syntax von isinstance()
lautet:
isinstance (Objekt, Klasseninfo)
isinstance () Parameter
isinstance()
nimmt zwei Parameter:
- Objekt -
object
zu prüfen - classinfo - Klasse, Typ oder Tupel von Klassen und Typen
Rückgabewert von isinstance ()
isinstance()
kehrt zurück:
True
wenn das Objekt eine Instanz oder Unterklasse einer Klasse oder eines Elements des Tupels istFalse
Andernfalls
Wenn classinfo kein Typ oder Tupel von Typen ist, wird eine TypeError
Ausnahme ausgelöst .
Beispiel 1: Wie funktioniert isinstance ()?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Ausgabe
Richtig Falsch Richtig Richtig
Beispiel 2: Arbeiten von isinstance () mit nativen Typen
numbers = (1, 2, 3) result = isinstance(numbers, list) print(numbers,'instance of list?', result) result = isinstance(numbers, dict) print(numbers,'instance of dict?', result) result = isinstance(numbers, (dict, list)) print(numbers,'instance of dict or list?', result) number = 5 result = isinstance(number, list) print(number,'instance of list?', result) result = isinstance(number, int) print(number,'instance of int?', result)
Ausgabe
(1, 2, 3) Instanz der Liste? Wahre (1, 2, 3) Instanz des Diktats? Falsche (1, 2, 3) Instanz eines Diktats oder einer Liste? Wahre 5 Instanz der Liste? Falsche 5 Instanz von int? Wahr