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,
- Mis on Isinstance Pythonis?
- Isinstance'i parameeter ja tagastusväärtus
- Tüübi kasutamine Pythonis
- Tüübi () ja Isinstance'i erinevus
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.
- Objekt: see on objekt, mida tuleb kontrollida.
- 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.
- Tõene tagastatakse, kui objekt on klassiinfo või klasside alamklass.
- 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.
- 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.
- 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.