Funktionen isinstance () kontrollerer, om objektet (første argument) er en forekomst eller underklasse af klasseinfoklassen (andet argument).
Syntaksen for isinstance()
er:
isinstance (objekt, klasseinfo)
isinstance () Parametre
isinstance()
tager to parametre:
- objekt -
object
skal kontrolleres - classinfo - klasse, type eller tuple af klasser og typer
Returneringsværdi fra isinstance ()
isinstance()
vender tilbage:
True
hvis objektet er en forekomst eller underklasse af en klasse eller et hvilket som helst element i tuplenFalse
Ellers
Hvis classinfo ikke er en type eller en slags typer, TypeError
hæves en undtagelse.
Eksempel 1: Hvordan fungerer instance ()?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Produktion
Sandt Falsk Sandt
Eksempel 2: Arbejde med isinstance () med indfødte typer
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)
Produktion
(1, 2, 3) forekomst af listen? Sand (1, 2, 3) forekomst af dict? Falsk (1, 2, 3) forekomst af dict eller liste? Ægte 5 forekomst af listen? Falsk 5 forekomst af int? Sand