De functie isinstance () controleert of het object (eerste argument) een instantie of subklasse is van classinfo-klasse (tweede argument).
De syntaxis van isinstance()
is:
isinstance (object, classinfo)
isinstance () Parameters
isinstance()
heeft twee parameters:
- object -
object
te controleren - classinfo - klasse, type of tupel van klassen en typen
Retourwaarde van isinstance ()
isinstance()
geeft terug:
True
als het object een instantie of subklasse is van een klasse of een element van het tupelFalse
anders-
Als classinfo geen type of tupel van typen is, wordt een TypeError
uitzondering gegenereerd .
Voorbeeld 1: Hoe werkt isinstance ()?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Uitvoer
Waar Niet waar Waar
Voorbeeld 2: werken van isinstance () met native types
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)
Uitvoer
(1, 2, 3) exemplaar van lijst? Waar (1, 2, 3) exemplaar van dict? False (1, 2, 3) instantie van dict of lijst? Ware 5 instantie van lijst? False 5 instantie van int? Klopt