La fonction isinstance () vérifie si l'objet (premier argument) est une instance ou une sous-classe de la classe classinfo (deuxième argument).
La syntaxe de isinstance()
est:
isinstance (objet, classinfo)
Paramètres isinstance ()
isinstance()
prend deux paramètres:
- objet -
object
à vérifier - classinfo - classe, type ou tuple de classes et types
Valeur renvoyée par isinstance ()
isinstance()
Retour:
True
si l'objet est une instance ou une sous-classe d'une classe ou de tout élément du tupleFalse
autrement
Si classinfo n'est pas un type ou un tuple de types, une TypeError
exception est déclenchée.
Exemple 1: Comment fonctionne isinstance ()?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Production
Vrai Faux Vrai
Exemple 2: Fonctionnement de isinstance () avec des types natifs
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)
Production
(1, 2, 3) instance de liste? Vrai (1, 2, 3) instance de dict? Faux (1, 2, 3) instance de dict ou de liste? Vrai 5 instance de liste? Faux 5 instance de int? Vrai