English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
La funzione instanceof() verifica se un oggetto (primo parametro) è un'istanza della classe classinfo (secondo parametro) o un suo sottoclasse.
la sintassi di instanceof() è:
isinstance(object, classinfo)
isinstance() ha due parametri:
oggetto- oggetto da controllare
classinfo - classe, tipo o tupla
isinstance() restituisce:
True seoggettoè un'istanza della classe o un sottoclasse, o qualsiasi elemento di una tupla
False oltre a
sebbeneclassinfoSe non è un tipo o un tipo di tuple, viene sollevata un'eccezione TypeError.
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Quando si esegue questo programma, l'output è:
True False True
numbers = [1, 2, 3] result = isinstance(numbers, list) print(numbers, 'È un'istanza di list?', result) result = isinstance(numbers, dict) print(numbers, 'È un'istanza di dict?', result) result = isinstance(numbers, (dict, list)) print(numbers, 'È un'istanza di dict o list?', result) number = 5 result = isinstance(number, list) print(number, 'È un'istanza di list?', result) result = isinstance(number, int) print(number, 'È un'istanza di int?', result)
Quando si esegue questo programma, l'output è:
[1, 2, 3] È un'istanza di list? True [1, 2, 3] È un'istanza di dict? False [1, 2, 3] È un'istanza di dict o list? True 5 È un'istanza di list? False 5 È un'istanza di int? True