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 charatvejis (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) |