Python isinstance() funkcija atgriež vērtību True, ja objektam ir noteikti tipi, un, ja tas neatbilst, atgriež False. Šajā rakstā mēs redzēsim, kā isinstance() metode darbojas Python
Piemērs
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() funkcijas sintakse
Metode isinstance() in Python ir šāda sintakse:
Sintakse:
instance (objekts, klase)
Parametri:
- obj : Objekts, kas jāpārbauda kā klases daļa vai nē.
- klase: klase/tips/klases vai tipa bloks, pret kuru objekts ir jāpārbauda.
Atgriešanās: Taisnība, ja objekts pieder dotajai klasei/tipam, ja tiek nodota viena klase, vai jebkurai klasei/tipam, ja tiek nodots klases/tipa kortežs, pretējā gadījumā atgriež False.
Tipa kļūda: ja ir kaut kas cits, izņemot minēto derīgo klases tipu.
Kā instance() funkcija darbojas Python?
Programmā Python instance() metode darbojas kā salīdzināšanas operators. Tam nepieciešami divi argumenti, viens ir Python objekts, bet otrs ir klases tips. Tas salīdzina objektu ar noteikta veida klasi vai apakšklasi un atgriež Būla vērtību, kas ir True vai False.
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.'>)> |
>
Pīts Deividsons
>Izvade
The variable 'numbers' is an instance of a list.>
Isinstance() metodes piemēri Python
Mēs varam nodrošināt vienu klases veidu vai a Python kortežs no klasēm uz instance() metodi. Korejas gadījumā instance() metode pārbauda visus koretūras elementus un atgriež True, ja objekts ir kāda no kortedža elementiem, pretējā gadījumā tā atgriež False. Apskatīsim dažus Python instances () metodes piemērus.
Python instance ar Int un List
Šajā piemērā mēs redzēsim, kā metode isinstance() darbojas ar Integer datu tipu un ar Python saraksts . Mēs pārbaudām, vai vesels skaitlis un saraksts ir vesela skaitļa vai virknes tipa gadījums.
Python3
sapludināšanas algoritms
# 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>))))> |
>
>Izvade
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() izmantošanas demonstrēšana ar objektiem
Šajā piemērā mēs pārbaudīsim objekta klasi Python, t.i., vai objekts ir klases vai tās atvasinātās klases gadījums.
Python3
# 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)))> |
>
>Izvade
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() ar virkni
Šajā piemērā mēs izmantosim funkciju isinstance() ar a Python virkne un pārbaudiet objekta klasi Python.
Python3
virkņu masīvs
test_str>=> 'techcodeview.com'> print> (>'Is test_str string? : '> +> str>(>isinstance>(test_str,>str>)))> |
>
>Izvade
Is test_str string? : True>
Python isinstance() ar vārdnīcu
Python isinstance() metode darbojas arī ar a vārdnīca objektu un pārbaudiet objekta klasi Python.
Python3
test_dict>=> {>'apple'> :>1>,>'Ball'> :>2> }> print> (>'Is test_str dictionary? : '> +> str>(>isinstance>(test_dict,>dict>)))> |
>
>Izvade
Is test_str dictionary? : True>
Python instance ar klases metodēm
Šajā piemērā mēs izmantojam metodi isinstance (), lai pārbaudītu vērtību, ko atgriezusi klases funkcija ar noteiktu tipu, un pārbaudītu objekta klasi Python.
Python3
class> geeks:> >course>=> 'DSA'> > >def> purchase(obj):> >return> obj.course> > > geeks.purchase>=> classmethod>(geeks.purchase)> str>(>isinstance>(geeks.purchase(),>str>))> |
>
>
Izvade
True>
Atšķirība starp isinstance () un type () metodēm Python
Nākamajā tabulā ir parādītas atšķirības starp metodi isinstance() un metodi tips () metode Python.
| isinstance () | tips () |
|---|---|
| Sintakse: isinstance(objekts, klase) | Sintakse: tips(objekts) |
| Tas pārbauda, vai objekts pieder noteiktam klases tipam | Tas atgriež objekta klases tipu bināro koku piemēri |
| Tas var pārbaudīt, vai objekts pieder klasei un tās apakšklasēm | Tā nevar tikt galā ar mantojumu |
| Tas ir ātrāks, salīdzinot ar tipu () | Tas ir lēnāks nekā isinstance () |
| Tas atgriež vai nu True vai False | Tas atgriež objekta veidu |
| Tas var pārbaudīt vairākas nodarbības vienlaikus | Tā to nevar izdarīt |
| Piemērs: instance(10, (int, str)) | Piemērs: tips (10) |