Python Iterators

Python Իտերատորներ

Python Iterators

Իտերատորը օբյեկտ է, որը պարունակում է հաշվելի թվով արժեքներ:

Իտերատորը օբյեկտ է, որի վրա կարելի է կրկնել, ինչը նշանակում է, որ դուք կարող եք անցնել բոլոր արժեքների միջով:

Տեխնիկապես Python-ում iterator-ը օբյեկտ է, որն իրականացնում է iterator արձանագրությունը, որը բաղկացած է մեթոդներից. __iter__() և __next__().


Iterator ընդդեմ Iterable

Ցուցակները, բազմոցները, բառարանները և հավաքածուները բոլորն էլ կրկնվող առարկաներ են: Նրանք կրկնվող են կոնտեյներներ որից դուք կարող եք ստանալ կրկնող:

Այս բոլոր օբյեկտներն ունեն ա iter() մեթոդ, որն օգտագործվում է կրկնիչ ստանալու համար.

Օրինակ

Վերադարձրեք կրկնողությունը բազմակիից և տպեք յուրաքանչյուր արժեքը.

Փորձեք ինքներդ »

Նույնիսկ տողերը կրկնվող օբյեկտներ են և կարող են վերադարձնել կրկնող.

Օրինակ

Տողերը նաև կրկնվող առարկաներ են, որոնք պարունակում են նիշերի հաջորդականություն.

Փորձեք ինքներդ »


Looping միջոցով Iterator

Կարող ենք նաև օգտագործել ա for հանգույց՝ կրկնվող օբյեկտի միջոցով կրկնելու համար.

Օրինակ

Կրկնել բազմակի արժեքները.

Փորձեք ինքներդ »

Օրինակ

Կրկնել տողի նիշերը.

Փորձեք ինքներդ »

The for loop-ը իրականում ստեղծում է iterator օբյեկտ և կատարում հաջորդ() մեթոդը յուրաքանչյուր օղակի համար:


Ստեղծեք Iterator

Օբյեկտ/դաս որպես կրկնող ստեղծելու համար պետք է կիրառել մեթոդները __iter__() և __next__() ձեր օբյեկտին:

Ինչպես դուք սովորել եք Python դասեր/օբյեկտներ գլուխ, բոլոր դասերն ունեն մի ֆունկցիա, որը կոչվում է __init__(), որը թույլ է տալիս կատարել որոշակի սկզբնավորում, երբ օբյեկտը ստեղծվում է:

The __iter__() մեթոդը գործում է միանման, դուք կարող եք գործողություններ կատարել (նախնականացում և այլն), բայց միշտ պետք է վերադարձնի iterator օբյեկտն ինքը:

The __next__() մեթոդը նաև թույլ է տալիս կատարել գործողություններ և պետք է վերադարձնի հաջորդ տարրը հաջորդականությամբ:

Օրինակ

Ստեղծեք կրկնող, որը վերադարձնում է թվեր՝ սկսած 1-ով, և յուրաքանչյուր հաջորդականություն կաճի մեկով (վերադարձնելով 1,2,3,4,5 և այլն):

Փորձեք ինքներդ »


StopIteration

Վերոնշյալ օրինակը կշարունակվի ընդմիշտ, եթե դուք բավարար հաջորդ() հայտարարություններ ունենայիք, կամ եթե այն օգտագործվեր a for հանգույց:

Որպեսզի կրկնությունը ընդմիշտ չշարունակվի, մենք կարող ենք օգտագործել StopIteration հայտարարության մեջ:

Է __next__() մեթոդով, մենք կարող ենք վերջացնող պայման ավելացնել՝ սխալ առաջացնելու համար, եթե կրկնությունը կատարվի որոշակի քանակությամբ անգամ.

Օրինակ

Դադարեցրեք 20 կրկնություններից հետո.

Փորձեք ինքներդ »

 

ArmenianEnglish