logo

Python isinstance() metode

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)