Pythoni iteraatorid: mis on Pythonis Iterator ja kuidas seda kasutada?



Selles Pythoni iteraatorite ajaveebis teeme põhjaliku uuringu Pythoni iteraatorite ja nende rakendamise kohta.

Pythoni programmeerimiskeel on laiendanud innovatsiooni kõiki aspekte, sealhulgas , , jne. Selle mängu üks paljudest põhjustest on mõisted nagu Python Iterators, sellised mõisted on Pythoni kui programmeerimiskeele triumfi ehituskivid. Selles artiklis käsitleme Pythoni iteraatorite mõistmiseks järgmisi mõisteid:

Iteraatorid vs korduv

Objekti Pythonis, mida saab kasutada iterable objektina, nimetatakse itterable'iks. See tähendab põhimõtteliselt, et objektis olevat järjestust saab korrata. Enamikule Pythoni kogudest meeldib a nimekirja , , kahekordne , komplektid ja isegi vahemik saab käsitleda kui korduvat.





Mis on Pythoni iteraatorid?

Püüton I teraator on konteiner, mis sisaldab loendatavat arvu väärtusi. Konteineris olevaid väärtusi saab läbida iteraatorite abil, eriti loendite abil.

Lisaks läbimisele võimaldavad iteraatorid juurdepääsu ka konteineris olevatele andmeelementidele, kuid ei toimi iseiteratsioonst ilma selle kontseptsioonita võetud olulise vabaduseta või terminoloogia tühise kasutamiseta. Iterator on peaaegu sarnane aandmebaasi kursorkäitumises. Siin on lihtne näide iteraatorist aastal .



my_obj = {'Edureka', 'Python', 'iterator'} iter_obj = iter (my_obj) print (järgmine (iter_obj))

Väljund: Edureka

Iterator on mis tahes tüüpi Python, mida saab kasutada 'for in loop' -ga.Iga objekt, mida kasutatakse iteraatorina, peab rakendama järgmisi meetodeid.

iteraatorid püthonis - edureka



1. __iter __ ()

Seda kutsutakse itaatori initsialiseerimiseks.See peaks tagastama objekti, millel on meetod järgmine või __next__.

2. __ järgmine __ ()

Iteratori järgmine meetod tagastab Iterable'i järgmise väärtuse.

Kui itraatorit kasutatakse silmusega ‘for in’, kutsub kaudselt järgmist () objektil Iterator. See meetod peaks iteratsiooni lõpust märku andma StopIterationiga.Neid kahte meetodit nimetatakse koos iteraatori protokolliks. Proovime näite abil mõista, kuidas for loop töötab Pythonis itaatorina.

i jaoks objektis: print (i)

Mõistame, kuidas töötab silmus iteraatorina.

# looge iteratsioonobjekt sellest iterable iter_obj = iter (iterable) # lõpmatu silmus, kui True: proovige: # hankige järgmine elemendi element = next (iter_obj) # tehke midagi elemendiga, välja arvatud StopIteration: # kui StopIteration tõstetakse, katkestage silmus murda

Nüüd, kui me teame, kuidas silmuse jaoks töötab itaatorina. Mõistkem, kuidas saame Pythonis kohandatud iteraatoreid rakendada.

Kohandatud iteraatorid

Vaatame nüüd, kuidas saaksime Pythonis kohandatud itaatoreid rakendada. Selle mõistmiseks kasutame näidet. Selles näites rakendame meetodid __iter __ () ja __next __ ().

klass MinuNumbrid: def __iter __ (ise): ise.a = 1 tagastab ise def __next __ (ise): x = ise.a ise.a + = 1 tagastus x myclass = MinuNumbrid () myiter = iter (minu klass) print (järgmine ( myiter)) print (järgmine (myiter)) print (järgmine (myiter))

Väljund: üks

2

3

Nüüd, kui teame, kuidas saame kohandatud iteraatoreid rakendada, heitkem pilk Pythoni lõpmatutele iteraatoritele.

Lõputud itaatorid

Alati ei ole kohustuslik, et Iteratori objektil olev üksus peaks ammenduma. Iteraatoreid võib olla lõpmatu (mis ei lõpe kunagi). Siin on näide lõpmatute iteraatorite demonstreerimiseks.

Sisseehitatud iter ()saab kutsuda kahe argumendiga, kus esimene argument peab olema objekt (funktsioon), mida saab kutsuda, ja teine ​​on valvur. Iterator kutsub seda funktsiooni seni, kuni tagastatav väärtus muutub sentineliga võrdseks.

Võtame selle mõistmiseks näite

klass MinuNumbrid: def __iter __ (ise): ise.a = 1 tagastab ise def __next __ (ise): x = ise.a ise.a + = 1 tagastus x myclass = MinuNumbrid () myiter = iter (minu klass) print (järgmine ( myiter)) print (järgmine (myiter)) print (järgmine (myiter)) print (järgmine (myiter)) print (järgmine (myiter))

Väljund: üks
2
3
4
5

Ülaltoodud näites jätkub täitmine seni, kuni jätkame printimisavalduse lisamist. Lõputu iteraatorite peatamiseks peame kasutama lauset stopIteration.

mis on .formaat pütoonis

StopIteration

Iteratsiooni igaveseks vältimiseks kasutame StopIterationi lauset. Mõistame seda mõne näite abil.

klass MinuNumbrid: def __iter __ (ise): ise.a = 1 tagastab ise def __next __ (ise): kui ise.a & ampampamplt = 5: x = ise.a ise.a + = 1 tagasi x muu: tõstke StopIteration myclass = MinuNumbrid () myiter = iter (myclass) x-le myiteris: print (x)

Väljund: üks
2
3
4
5

Nüüd niipea, kui tingimus on vale, viiakse täitmine teise plokki ja iteratsioon peatub. Vaatame nüüd mõnda teist Pythoni iteraatorite näidet.

Pythoni itaatori näited

Siin on veel mõned näited Pythoni iteraatoritest.

my_obj = ['Edureka', 'python', 'iterator'] iter_obj = iter (my_obj) print (järgmine (iter_obj))

Väljund: Edureka

Selles näites kasutame korratavana objektina dupletti.

my_obj = ('Edureka', 'python', 'iterator') iter_obj = iter (my_obj) print (järgmine (iter_obj))

Väljund: Edureka

Stringi võime kasutada isegi pythonis itereeritava objektina.

my_obj = 'Edureka' iter_obj = iter (my_obj) print (järgmine (iter_obj))

Väljund: ON

See viib meid selle artikli lõppu, kus oleme õppinud, kuidas Python Iteratoreid koos näidetega kasutame. Loodan, et teil on selge kõigega, mida teiega selles õpetuses jagati.

Kui leiate, et see artikkel jaotises Python Iterators on asjakohane, vaadake seda usaldusväärne veebiõppeettevõte, mille võrgustik sisaldab üle 250 000 rahuloleva õppija, levis üle kogu maailma.

Oleme siin, et aidata teid igal sammul oma teekonnal ja koostada õppekava, mis on mõeldud üliõpilastele ja spetsialistidele, kes soovivad olla . Kursus on loodud selleks, et anda teile algus Pythoni programmeerimises ja õpetada teid nii põhi- kui ka edasijõudnute Pythoni mõistete jaoks koos erinevate võimalustega meeldib

Kui teil on küsimusi, küsige julgelt kõiki oma küsimusi jaotises „Pythoni itaatorid”. Meie meeskonnal on hea meel vastata.