Funkcija isinstance () patikrina, ar objektas (pirmasis argumentas) yra classinfo klasės egzempliorius ar poklasis (antrasis argumentas).
Sintaksė isinstance()
yra:
isinstance (objektas, klasės informacija)
izinstance () parametrai
isinstance()
turi du parametrus:
- objektas -
object
turi būti patikrinta - classinfo - klasė, tipas arba klasių ir tipų paketas
Grąžinimo vertė iš „isinstance“ ()
isinstance()
grįžta:
True
jei objektas yra klasės egzempliorius ar poklasis arba bet kuris paketo elementasFalse
kitaip
Jei „classinfo“ nėra tipas ar tipų paketas, keliama TypeError
išimtis.
1 pavyzdys: Kaip veikia „isinstance“)?
class Foo: a = 5 fooInstance = Foo() print(isinstance(fooInstance, Foo)) print(isinstance(fooInstance, (list, tuple))) print(isinstance(fooInstance, (list, tuple, Foo)))
Rezultatas
Tiesa Klaidinga Tiesa
2 pavyzdys: Isinstance () naudojimas su vietiniais tipais
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)
Rezultatas
(1, 2, 3) sąrašo egzempliorius? Tikra (1, 2, 3) dikto instancija? Klaidinga (1, 2, 3) dikto ar sąrašo instancija? Tiesa 5 sąrašo egzemplioriai? Klaidingas 5 int pavyzdys? Tiesa