logo

Python isinstance() metodas

Python isinstance() funkcija grąžina True, jei objektas yra nurodytų tipų, o jei jis nesutampa, grąžina False. Šiame straipsnyje pamatysime, kaip isinstance() metodas veikia Python

Pavyzdys

  Input:   isinstance([1, 2, 3], list)   Output:   True   Explanation:   The first parameter passed is of list type.   Input:   isinstance(10, str)   Output:   False   Explanation:   The first parameter, 10 is an integer and not a string.>

Python isinstance() Funkcijos sintaksė

Metodas isinstance() in Python turi tokią sintaksę:



Sintaksė:

string to char

atvejis (obj, klasė)

Parametrai:

  • obj : Objektas, kurį reikia patikrinti kaip klasės dalį ar ne.
  • klasė : klasė/tipas/klasės ar tipo eilė, pagal kurią objektą reikia patikrinti.

Grąžinimai: Tiesa, jei objektas priklauso nurodytai klasei/tipui, jei perduodama viena klasė, arba bet kuriai klasei/tipui, jei perduodama klasės/tipo eilė, kitaip grąžina False.

Tipo klaida: jei kas nors kitas nei nurodytas galiojantis klasės tipas.

Kaip „Python“ veikia funkcija instance ()?

Python sistemoje instance() metodas veikia kaip palyginimo operatorius. Reikia dviejų argumentų: vienas yra Python objektas, o kitas yra klasės tipas. Jis lygina objektą su nurodyto tipo klase arba poklasiu ir grąžina loginę reikšmę, kuri yra teisinga arba klaidinga.

Python3




numbers>=> [>1>,>2>,>3>,>4>,>2>,>5>]> # Check if 'numbers' is an instance of a list> result>=> isinstance>(numbers,>list>)> if> result:> >print>(>'The variable 'numbers' is an instance of a list.'>)> else>:> >print>(>'The variable 'numbers' is not an instance of a list.'>)>

>

>

Išvestis

The variable 'numbers' is an instance of a list.>

Python metodo isinstance() pavyzdžiai

Galime pasiūlyti vieną klasės tipą arba a Python rinkinys klasių į instance() metodą. Kortelės atveju metodas instance() patikrina visus eilės elementus ir grąžina True, jei objektas yra kurio nors iš eilės elementų egzempliorius, kitu atveju jis grąžina False. Pažiūrėkime kelis Python instance() metodo pavyzdžius.

Python egzempliorius su Int ir List

Šiame pavyzdyje pamatysime, kaip isinstance() metodas veikia su sveikojo skaičiaus duomenų tipu ir su Python sąrašas . Patikriname, ar sveikasis skaičius ir sąrašas yra sveikojo skaičiaus ar eilutės tipo egzemplioriai.

Python3




# initializing native types> test_int>=> 5> test_list>=> [>1>,>2>,>3>]> # testing with isinstance> print>(>'Is test_int integer? : '> +> str>(>isinstance>(test_int,>int>)))> print>(>'Is test_int string? : '> +> str>(>isinstance>(test_int,>str>)))> print>(>'Is test_list integer? : '> +> str>(>isinstance>(test_list,>int>)))> print>(>'Is test_list list? : '> +> str>(>isinstance>(test_list,>list>)))> # testing with tuple> print>(>'Is test_int integer or list or string? : '> >+> str>(>isinstance>(test_int, (>int>,>list>,>str>))))>

>

>

Išvestis

Is test_int integer? : True Is test_int string? : False Is test_list integer? : False Is test_list list? : True Is test_int integer or list or string? : True>

Isinstance() naudojimo su objektais demonstravimas

Šiame pavyzdyje mes patikrinsime objekto klasę Python, ty ar objektas yra klasės egzempliorius, ar jos išvestinė klasė.

Python3


ddl vs dml



# declaring classes> class> gfg1:> >a>=> 10> # inherited class> class> gfg2(gfg1):> >string>=> 'techcodeview.com'> # initializing objects> obj1>=> gfg1()> obj2>=> gfg2()> # checking instances> print>(>'Is obj1 instance of gfg1? : '> +> str>(>isinstance>(obj1, gfg1)))> print>(>'Is obj2 instance of gfg2? : '> +> str>(>isinstance>(obj2, gfg2)))> print>(>'Is obj1 instance of gfg2? : '> +> str>(>isinstance>(obj1, gfg2)))> # check inheritance case> # return true> print>(>'Is obj2 instance of gfg1? : '> +> str>(>isinstance>(obj2, gfg1)))>

>

>

Išvestis

Is obj1 instance of gfg1? : True Is obj2 instance of gfg2? : True Is obj1 instance of gfg2? : False Is obj2 instance of gfg1? : True>

Python isinstance() su eilute

Šiame pavyzdyje mes naudosime funkciją isinstance() su a Python eilutė ir patikrinkite objekto klasę Python.

Python3




test_str>=> 'techcodeview.com'> print> (>'Is test_str string? : '> +> str>(>isinstance>(test_str,>str>)))>

>

>

Išvestis

Is test_str string? : True>

Python isinstance() su žodynu

Python isinstance() metodas taip pat veikia su a žodynas objektą ir patikrinkite objekto klasę Python.

Python3




test_dict>=> {>'apple'> :>1>,>'Ball'> :>2> }> print> (>'Is test_str dictionary? : '> +> str>(>isinstance>(test_dict,>dict>)))>

>

>

Išvestis

Is test_str dictionary? : True>

Python egzempliorius su klasės metodais

Šiame pavyzdyje mes naudojame metodą isinstance () norėdami patikrinti vertę, kurią grąžino nurodyto tipo klasės funkcija, ir patikrinti objekto klasę Python.

Python3

mylivecricket žaisti gyvą kriketą




class> geeks:> >course>=> 'DSA'> > >def> purchase(obj):> >return> obj.course> > > geeks.purchase>=> classmethod>(geeks.purchase)> str>(>isinstance>(geeks.purchase(),>str>))>

>

>

Išvestis

True>

Skirtumas tarp isinstance() ir type() metodų Python

Šioje lentelėje parodyti skirtumai tarp isinstance() metodo ir tipas () metodas Python.

isinstance ()

tipas ()

Sintaksė: isinstance(objektas, klasė) Sintaksė: tipas (objektas)

Ji patikrina, ar objektas priklauso tam tikros klasės tipui

Jis grąžina objekto klasės tipą

Jis gali patikrinti, ar objektas priklauso klasei ir jos poklasiams

Ji negali susidoroti su paveldėjimu

Tai greitesnis, palyginti su tipu () Tai lėtesnė nei isinstance()
Jis grąžina arba True, arba False Jis grąžina objekto tipą
Jis gali tikrinti kelias klases vienu metu Tai negali to padaryti
Pavyzdys: isinstance(10, (int, str)) Pavyzdys: tipas (10)