Python isinstance ()

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 - objectkontrolleras
  • 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 tupeln
  • False annat

Om classinfo inte är en typ eller typ av typ, tas ett TypeErrorundantag 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

Intressanta artiklar...