Mis on Pythonis Isinstance ja kuidas seda rakendada?



See artikkel tutvustab teile Pythonis Isinstance'i meetodit ja annab teile põhjaliku kontseptuaalse selgituse koos demonstreerimisega.

on tänapäeval turul üks võimsamaid programmeerimiskeeli. Python toetab ka teiste programmeerimiskeelte rakendamist oma ökosüsteemis, nagu Java, C ja C ++. Pythoni ökosüsteemis saadaolevatest paljudest moodulitest ja funktsioonidest on üks neist, mis teiste seas silma paistab, Pythoni isstants. Seega räägime selles artiklis üksikasjalikult isinstantsist, selle kasutamisest ja tabelis toodud funktsioonidest.

Järgmisi näpunäiteid käsitletakse selles artiklis,





Alustagem!

Mis on Isinstance Pythonis?

Pythoni isinstance'i abil kontrollitakse, kas esimene objekt, mis on argument, on klassiinfo klassi eksemplar või alaklass, mis on teine ​​argument.



Pythoni isinstantsi süntaks on järgmine.

isinstance (objekt, klassiinfo)

Vaatame, millised parameetrid ja tagastusväärtus on Pythoni Isinstance'il,



Isinstance'i parameeter ja tagastusväärtus

Parameeter

Nüüd, kui olete teadlik isinstance'i süntaksist, uurime lähemalt parameetrit, mida see arvestab.

  1. Objekt: see on objekt, mida tuleb kontrollida.
  2. Classinfo: see klass, teave või klasside kogu, mille suhtes tuleb objekti kontrollida.

Tagastusväärtus

Kui isinstance'i kasutatakse programmis, sõltub tagastusväärtus mitmest tingimusest, nagu on selgitatud allpool viidetes.

  1. Tõene tagastatakse, kui objekt on klassiinfo või klasside alamklass.
  2. Väär tagastatakse, kui objekt ei ole klassiinfo või klasside alamklass.

Kui konkreetses olukorras pole klassiinfo tüüp ega tüüp, siis tõstetakse kasutaja ekraanile tüüpvea erand.

Näited

Isinstance'i kasutamise paremaks mõistmiseks vaatame mõnda näidet.

Näide 1

klass Foo: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))

Väljund

Tõsi

Vale

Tõsi

kuidas Java-s tüüpvormistada

Isinstance Pythonis: näide 2

numbrid = [1, 2, 3] tulemus = isinstance (numbrid, loend) print (numbrid, 'loendi eksemplar?', tulemus) tulemus = isinstance (numbrid, dikteeritud) print (numbrid, 'dikti eksemplar?', tulemus ) result = isinstance (numbrid, (dict, list)) print (numbrid, 'dikti või loendi eksemplar?', tulemus) number = 5 result = isinstance (number, list) print (number, 'listi eksemplar?', tulemus) tulemus = isinstance (number, int) print (number, 'int-i eksemplar?', tulemus)

Väljund

[1, 2, 3] loendi eksemplar? Tõsi

[1, 2, 3] dikteeritud eksemplar? Vale

[1, 2, 3] dikteeritud eksemplar või loend? Tõsi

5 nimekirja eksemplari? Vale

5 eksemplari int? Tõsi

Näide 3

# Pythoni kood isinstance () klassi Test jaoks: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple) , Test)))

Väljund

Tõsi

Vale

Tõsi

Jätkame artikliga Isinstance In Python ja mõistame Type-i kasutamist,

Tüübi kasutamine Pythonis

Sarnaselt isinstantsiga on Pythonis veel üks sisseehitatud meetod, mida kasutatakse käituse ajal kasutatava muutuja pf kontrollimiseks. Kui tüübimeetodi kaudu edastatakse üks argument või objekt, tagastab see käitusajal kasutatava objekti tüübi.

funktsioonide tüübid ruutmeetrites

Selle paremaks mõistmiseks vaadake allolevat näidet.

Isinstance Pythonis: näide # 1.1

# Pythoni koodi tüüp () ühe objekti parameetriga x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))

Väljund

klass ‘int’

klass „str”

klassi nimekiri

Näide # 1.2

# Pythoni kood tüübile () koos nimega, # base ja dict parameetriga o1 = type ('X', (object,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) klassikatse: a = 'Foo' b = 12 o2 = type ('Y', (test,), dict (a = 'Foo', b = 12)) print (type (o2)) print (vars (o2))

Väljund

{’B’: 12, ‘a’: ’Foo’, ‘__dict__’:, ‘__doc__’: Puudub, ‘__weakref__’:}

{’B’: 12, „a“: „Foo“, „__doc__’: pole}

Võrdleme Pythonis tüüpi ja Isinstance'i,

Tüübi () ja Isinstance'i erinevus

Pythoni tüüp ja isinstance täidavad kahte väga erinevat funktsiooni. Heitke pilk allpool olevatele näpunäidetele, et paremini mõista nende vahelist erinevust.

  1. Kui peate kontrollima, kas objektil on teatud tüüp, on kõige parem kasutada isinstance'i. Seda seetõttu, et isinstants suudab kontrollida, kas esimeses argumendis edastatud objekt on sama tüüpi kui teises argumendis.
  2. Teisest küljest on tüübi kasutamine eelistatum, kui peate lihtsalt kontrollima konkreetse objekti tüüpi ja mitte seda teistega võrdlema.

Näide

kuidas teisendada binaarne string kümnendkohaks Java keeles
#Pythoni kood pardi sisestamise klassi illustreerimiseks Kasutaja (objekt): def __init __ (ise, eesnimi): ise.eesnimi = eesnimi @omandi def-nimi (ise): tagastama ise.enime klass loom (objekt): läbima klassi Fox (loom) : nimi = 'Rebane' klass Karu (loom): nimi = 'Karu' # Kasutage atribuuti .nimi (või omadust) olenemata tüübist, mis on jaotistes [Kasutaja ('SampleOutput'), Rebane (), Karu ()] : print (a.nimi)

Väljund

Proovi väljund

Rebane

Karu

Teine põhjus, miks tüübimeetodit mitte kasutada, on pärimise puudumine. Selle paremaks mõistmiseks vaadake allpool jagatud näiteid.

#pythoni kood, et illustreerida pärandi #support puudumist tüüp () klassis MyDict (dict): '' 'Tavaline diktsioon, mis luuakse alati' esialgse 'võtmega' 'def __init __ (self): self [ 'initial'] = 'mõned andmed' d = MyDict () print (type (d) == dict) print (type (d) == MyDict) d = dict () print (type (d) == dict) print (tüüp (d) == MyDict)

Väljund

Vale

Tõsi

Tõsi

Vale

Nii see kutid, see viib meid selle artikli lõppu. Loodan, et olete Pythonis Isinstance'ist aru saanud ja mida see teeb.

Põhjalike teadmiste saamiseks Pythoni kohta koos selle erinevate rakendustega saate seda teha reaalajas veebikoolituse jaoks, millel on 24-tunnine tugi ja juurdepääs kogu elule.

Kas teil on meile küsimus? Mainige neid selle artikli kommentaaride jaotises ja võtame teiega ühendust.