cb
ABCD
  • Python Суулгах
  • Python Бичиглэл /Syntax/
  • Python Тайлбар оруулах /comments/
  • Python Хувьсагч зарлах /Variables/
  • Python өгөгдлийн төрлүүд /Data Types/
  • Python Тоон төрөл /Numbers/
  • Python хувьсагчийг төрлөөр тодорхойлох /Casting/
  • Python Текст төрлийн хувьсагч /Strings/
  • Python Логик утга /Booleans/
  • Python Опериаторууд /Operators/
  • Python Жагсаалт /lists/
  • Python Багц /Tuples/
  • Python Багц /Set/
  • Python Багц /Dictionaries/
  • Python Нөхцөл шалгах /if ... else/
  • Python Давталт /While Loops/
  • Python Давталт /For Loops/
  • Python Функц /Functions/
  • Python /Масив/ Arrays
  • Python Класс ба Объект /Classes and Objects/
  • Python Удамшил /Inheritance/
  • Python Тоолуур /Iterators/
  • Python Огноо /Date time/
  • Python JSON
  • Python Тогтмол илэрхийлэл /RegEx/
  • Python PIP
  • Python Алдааг шалгах /Try Except/
  • Python Файлтай ажиллах
  • Python Ламбда / Lambda
  • Python Map, Filter, Reduce Функц
тохиргоо
Толгой хэсэг
Хажуугийн самбар
Үндсэн контент
НЭВТРЭХ

Python Тоолуур /Iterators/

Iterator буюу Тоолуур гэдэг нь объектод агуулагдаж байгаа тоологдож болох утгуудыг хэлнэ.

Тоолуур нь объектод агуулагдаж байгааг тоолох, дэлгэрүүлбэл багтаж буй шинж чанаруудыг орхилгүй дамжин өнгөрөхийг хэлнэ.

Python-д энэ тоолуурыг __iter__(), __next__() гэсэн арга бүхий протоколоор ашигладаг.


Iterator vs Iterable

List, Tuple, dictionaries, болон sets нь бүгд iterable буюу тоологддог төрлийн объектод агуулагдах бөгөөд тоологдсоны дараагаар Iterable үүснэ.

Iterator-г iter() арга буюу функцээр ажиллуулна.

Жишээ нь:

Iterator-р tuple -ийн утгыг буцааж, утга тус бүрийг хэвлэж үзье.


tuple1 = ("Төмс", "Лууван", "Байцаа")
iter1 = iter(tuple1)

print (next(iter1))
print (next(iter1))
print (next(iter1))

Үр дүн

C:\Users\Pc Name>iterator.py
Төмс
Лууван
Байцаа

Iterator буюу тоолуур нь String-ийн тэмдэгтийг ч тоолж чадна.

Жишээ нь:

Strings-ийн тэмдэгт бүрийг дарааллаар нь хэвлэж үзье.

str1 = "Төмс"
iter1 = iter(str1)

print (next(iter1))
print (next(iter1))
print (next(iter1))
print (next(iter1))

Үр дүн

C:\Users\Pc Name>iterator.py
Т
ө
м
с


Looping Through an Iterator

Объектын утгыг for давталт ашиглан тоолж болно.

Жишээ нь:

Tuple-ийн утгыг тоолж үзье

firstTuple = ("Төмс", "Лууван", "Манжин") 
for x in firstTuple:
    print(x)

Үр дүн

C:\Users\Pc Name>iterator.py
Төмс
Лууван
Манжин

Жишээ нь:

String-ийн тэмдэгтийг ч for давталтаар тоолж болно.

strChar = "Төмс"
for x in strChar:
    print(x)

Үр дүн

C:\Users\Pc Name>iterator.py
Т
ө
м
с


Create an Iterator

__iter__() болон __next__() функцийг ашиглан Объектод тоолуурыг давталт хэлбэрээр үүсгэж болно.

Бүх класс __init__() функцтэй гэдгийн бид бүгд мэднэ.

Тэгвэл__iter__() функц нь ижил төстэй ажилладаг боловч iterator нь объектыг өөрөө буцаадаг.

Харин __next__() функц нь үйлдэл хийх боломжийг олгодог бөгөөд дараагийн зүйлийг дарааллаар нь буцаадаг.

Жишээ нь:

1-ээр эхэлсэн тоолуур үүсгээд дуудах бүрд 2-р нэмэгддэг дараалал үүсгэж үзье.

class FirstNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    x = self.a
    self.a += 2
    return x

firstClass = FirstNumbers()
firstIter = iter(firstClass)

print (next(firstIter))
print (next(firstIter))
print (next(firstIter))
print (next(firstIter))
print (next(firstIter))
print (next(firstIter))

Үр дүн

C:\Users\Pc Name>iterator.py
1
3
5
7
9
11

StopIteration

Бид дээрх жишээн дээр __next__() функцийг ашиглан дуудах бүрд хувьсагчийн утгыг 2 нэмээд утга буцааж үзсэн. Тэгвэл энэ удаад for давталт ашиглах болно.
Iteration нөхцөл биелэхэд тоолуурыг StopIteration statement-ээр зогсоох болно.

Жишээ нь:

class FirstNumbers:
  def __iter__(self):
    self.a = 1
    return self

  def __next__(self):
    if self.a <= 8:
      x = self.a
      self.a += 1
      return x
    else:
      raise StopIteration

firstclass = FirstNumbers()
firstiter = iter(firstclass)

for x in firstiter:
  print (x)

Үр дүн

C:\Users\Pc Name>iterator.py
1
2
3
4
5
6
7
8

Сэтгэгдэлүүд

ABCD.mn

mash sain hicheel boljee

Feb. 3, 2020, 4:11 p.m.
Контентын нэр
Python Суулгах
Python Бичиглэл /Syntax/
Python Тайлбар оруулах /comments/
Python Хувьсагч зарлах /Variables/
Python өгөгдлийн төрлүүд /Data Types/
Python Тоон төрөл /Numbers/
Python хувьсагчийг төрлөөр тодорхойлох /Casting/
Python Текст төрлийн хувьсагч /Strings/
Python Логик утга /Booleans/
Python Опериаторууд /Operators/
Python Жагсаалт /lists/
Python Багц /Tuples/
Python Багц /Set/
Python Багц /Dictionaries/
Python Нөхцөл шалгах /if ... else/
Python Давталт /While Loops/
Python Давталт /For Loops/
Python Функц /Functions/
Python /Масив/ Arrays
Python Класс ба Объект /Classes and Objects/
Python Удамшил /Inheritance/
Python Тоолуур /Iterators/
Python Огноо /Date time/
Python JSON
Python Тогтмол илэрхийлэл /RegEx/
Python PIP
Python Алдааг шалгах /Try Except/
Python Файлтай ажиллах
Python Ламбда / Lambda
Python Map, Filter, Reduce Функц
ABCD.mn ©

Нөхцөл & Шаардлага

1. General

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

2. Account

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

3. Service

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.

4. Payments

Lorem ipsum dolor sit amet, consectetur adipiscing elit. Maecenas ultrices, justo vel imperdiet gravida, urna ligula hendrerit nibh, ac cursus nibh sapien in purus. Mauris tincidunt tincidunt turpis in porta. Integer fermentum tincidunt auctor.