Python isinstance ()

La funzione isinstance () controlla se l'oggetto (primo argomento) è un'istanza o una sottoclasse della classe classinfo (secondo argomento).

La sintassi di isinstance()è:

 isinstance (object, classinfo)

Parametri isinstance ()

isinstance() accetta due parametri:

  • oggetto - objectda controllare
  • classinfo : classe, tipo o tupla di classi e tipi

Valore restituito da isinstance ()

isinstance() ritorna:

  • True se l'oggetto è un'istanza o una sottoclasse di una classe o qualsiasi elemento della tupla
  • False altrimenti

Se classinfo non è un tipo o una tupla di tipi, TypeErrorviene sollevata un'eccezione.

Esempio 1: come funziona isinstance ()?

 class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))

Produzione

 Vero Falso Vero

Esempio 2: utilizzo di isinstance () con tipi nativi

 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)

Produzione

(1, 2, 3) istanza di elenco? True (1, 2, 3) istanza di dict? False (1, 2, 3) istanza di dict o list? Vero 5 istanza di elenco? False 5 istanza di int? Vero

Articoli interessanti...