yra viena iš galingiausių šiandien rinkoje esančių programavimo kalbų. „Python“ taip pat palaiko kitų programavimo kalbų diegimą savo ekosistemoje, pvz., „Java“, „C“ ir „C ++“. Iš daugelio modulių ir funkcijų, kurios yra prieinamos „Python“ ekosistemoje, viena iš kitų išsiskiria „Python“ esme. Taigi šiame straipsnyje mes išsamiai kalbėsime apie esmę, jo naudojimą ir ypatybes, kurias jis pateikia ant stalo.
Tolimesni patarimai bus aptarti šiame straipsnyje,
- Kas yra „Isinstance“ „Python“?
- Isinstance parametras ir grąžinimo vertė
- Tipo naudojimas „Python“
- Tipo () ir Isinstance skirtumas
Kas yra „Isinstance“ „Python“?
„Python“ esmė yra naudojama norint patikrinti, ar pirmasis objektas, kuris yra argumentas, yra „classinfo“ klasės egzempliorius ar poklasis, kuris yra antrasis argumentas.
„Python“ izinstancijos sintaksė yra tokia.
isinstance (objektas, klasės informacija)
Pažiūrėkime, kokius parametrus ir grąžinimo vertę turi „Isinstance“ sistemoje „Python“,
Isinstance parametras ir grąžinimo vertė
Parametras
Dabar, kai jūs žinote apie isinstance sintaksę, atidžiau pažvelkime į parametrą, į kurį jis atsižvelgia.
- Objektas: tai objektas, kurį reikia patikrinti.
- „Classinfo“: tai klasė, informacija arba klasių grupė, pagal kurias reikia patikrinti objektą.
Grąžinimo vertė
Kai isinstance naudojama programoje, grąžinimo vertė priklauso nuo kelių sąlygų, kaip paaiškinta žemiau esančiose nuorodose.
- Tiesa yra grąžinama, jei objektas yra klasės informacijos poklasis arba klasių paketas.
- Netinkamas yra grąžinamas, jei objektas nėra klasės informacijos poklasis arba klasių paketas.
Jei tam tikroje situacijoje „classinfo“ nėra tipas arba tipų paketas, tada vartotojo klaidos ekrane iškeliama tipo klaidos išimtis.
Pavyzdžiai
Norėdami geriau suprasti izotransporto naudojimą, pažvelkime į keletą pavyzdžių.
skirtumas tarp c c # ir c ++
1 pavyzdys
Foo klasė: a = 5 fooInstance = Foo () print (isinstance (fooInstance, Foo)) print (isinstance (fooInstance, (list, tuple))) print (isinstance (fooInstance, (list, tuple, Foo)))
Rezultatas
Tiesa
Klaidinga
Tiesa
„Isinstance“ sistemoje „Python“: 2 pavyzdys
skaičiai = [1, 2, 3] rezultatas = isinstance (skaičiai, sąrašas) spausdinti (numeriai, 'sąrašo egzempliorius?', rezultatas) rezultatas = isinstance (skaičiai, diktantas) spausdinti (skaičiai, 'diktanto egzempliorius?', rezultatas ) rezultatas = isinstance (numeriai, (diktatas, sąrašas)) spausdinti (skaičiai, 'diktanto ar sąrašo egzempliorius?', rezultatas) skaičius = 5 rezultatas = isinstance (numeris, sąrašas) spausdinti (skaičius, 'sąrašo egzempliorius?', rezultatas) rezultatas = isinstance (skaičius, int) spausdinimas (skaičius, „int pavyzdys?“, rezultatas)
Rezultatas
[1, 2, 3] sąrašo egzempliorius? Tiesa
[1, 2, 3] dikto pavyzdys? Klaidinga
[1, 2, 3] dikto ar sąrašo pavyzdys? Tiesa
5 sąrašo egzemplioriai? Klaidinga
.trim () java
5 atvejis int? Tiesa
3 pavyzdys
# „Isinstance“ () klasės „Test“ Python kodas: a = 5 TestInstance = Test () print (isinstance (TestInstance, Test)) print (isinstance (TestInstance, (list, tuple))) print (isinstance (TestInstance, (list, tuple) , Bandymas)))
Rezultatas
Tiesa
Klaidinga
Tiesa
Tęskime straipsnį „Isinstance In Python“ ir supraskime „Type“ metodo naudojimą,
Tipo naudojimas „Python“
Panašiai kaip „isinstance“, „Python“ yra dar vienas įmontuotas metodas, naudojamas patikrinti kintamąjį pf, kuris naudojamas vykdymo metu. Jei per tipo metodą perduodamas vienas argumentas ar objektas, jis pateikia objekto, kuris naudojamas vykdymo metu, tipą.
Norėdami tai geriau suprasti, pažvelkite į toliau pateiktą pavyzdį.
„Isinstance“ sistemoje „Python“: 1.1 pavyzdys
# „Python“ kodo tipas () su vienu objekto parametru x = 5 s = 'sampleoutput' y = [1,2,3] print (type (x)) print (type (s)) print (type (y))
Rezultatas
klasė „int“
klasė „str“
klasės „sąrašas“
1.2 pavyzdys
# „Python“ kodas tipui () su pavadinimu, # bazėmis ir diktuojamu parametru o1 = type ('X', (object,), dict (a = 'Foo', b = 12)) print (type (o1)) print (vars (o1)) klasės testas: a = 'Foo' b = 12 o2 = type ('Y', (test,), dict (a = 'Foo', b = 12)) print (type (o2)) spausdinti (vars (o2))
Rezultatas
fibonacci c ++ rekursinis
{‘B’: 12, ‘a’: ‘Foo’, ‘__dict__’:, ‘__doc__’: Nėra, ‘__weakref__’:}
{‘B’: 12, „a“: „Foo“, „__doc__“: nėra}
Palyginkime „Python“ tipą ir „Isinstance“,
Tipo () ir Isinstance skirtumas
„Python“ tipas ir „isinstance“ atlieka dvi labai skirtingas funkcijas. Pažvelkite į žemiau pateiktas nuorodas, kad geriau suprastumėte jų skirtumus.
- Jei reikia patikrinti, ar objektas turi tam tikrą tipą, geriausia naudoti „isinstance“. Taip yra todėl, kad izinstancija galės patikrinti, ar pirmajame argumente perduotas objektas yra tokio paties tipo, kaip ir antrojo argumento.
- Kita vertus, tipo naudojimas yra labiau pageidaujamas, kai reikia paprasčiausiai patikrinti konkretaus objekto tipą ir jo nepalyginti su kitu.
Pavyzdys
#Python kodas, iliustruojantis ančių rašymo klasę Vartotojas (objektas): def __init __ (savęs, vardo): savivardas = vardas @ nuosavybės def vardas (savarankiškai): grąžinti savivardės klasę Gyvūnas (objektas): perduoti klasę Lapė (Gyvūnas) : name = 'Fox' class Bear (Animal): name = 'Bear' # Naudokite atributą .name (arba ypatybę), neatsižvelgdami į [User ('SampleOutput'), Fox (), Bear ()] tipą. : spausdinti (a.name)
Rezultatas
SampleOutput
Lapė
Turėti
Kita priežastis nenaudoti tipo metodo yra paveldėjimo nebuvimas. Pažvelkite į žemiau pateiktus pavyzdžius, kad tai geriau suprastumėte.
#python kodas, iliustruojantis, kad trūksta #support paveldėjimo tipo () klasėje MyDict (dict): '' 'Normalus diktantas, kuris visada kuriamas naudojant' pradinį 'raktą' 'def __init __ (self): self [ 'pradinis'] = 'kai kurie duomenys' d = MyDict () spausdinti (tipas (d) == dict) spausdinti (tipas (d) == MyDict) d = dict () spausdinti (type (d) == dict) spausdinti (tipas (d) == „MyDict“)
Rezultatas
Klaidinga
Tiesa
Tiesa
Klaidinga
Taigi, tai, vaikinai, tai priveda prie šio straipsnio pabaigos. Tikiuosi, kad supratote „Isinstance“ sistemoje „Python“ ir ką ji veikia.
Norėdami gauti išsamių žinių apie „Python“ kartu su įvairiomis jo programomis, galite tiesioginėms internetinėms treniruotėms, palaikančioms visą parą visą parą ir visą gyvenimą.
Turite mums klausimą? Paminėkite juos šio straipsnio komentarų skyriuje ir mes susisieksime su jumis.