Funktionen isinstance () kontrollerar om objektet (första argumentet) är en förekomst eller underklass av classinfo-klass (andra argument).
Syntaksen för isinstance()
är:
isinstance (objekt, klassinfo)
isinstance () Parametrar
isinstance()
tar två parametrar:
- objekt -
object
kontrolleras - classinfo - klass, typ eller tupel av klasser och typer
Returvärde från isinstance ()
isinstance()
returnerar:
True
om objektet är en förekomst eller underklass av en klass eller något element i tupelnFalse
annat
Om classinfo inte är en typ eller typ av typ, tas ett TypeError
undantag upp.
Exempel 1: Hur fungerar instance ()?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Produktion
True False True
Exempel 2: Arbeta med isinstance () med infödda 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) förekomst av lista? Sann (1, 2, 3) förekomst av dikt? Falsk (1, 2, 3) instans av dikt eller lista? Sann 5 förekomst av listan? Falsk 5 instans av int? Sann