Middle
Итераторҳо ва генераторҳо дар Python чистанд ва фарқияти онҳо дар чист?
sobes.tech AI
Ҷавоб аз AI
Итератор дар Python объектест, ки усулҳои __iter__() ва __next__()-ро иҷро мекунад. Он имкон медиҳад, ки унсурҳои маҷмӯаро ба таври пайдарпай гузаронед, бе зарурати бор кардани ҳамаи маълумотҳо ба хотир.
Генератор як навъи махсуси итератор аст, ки бо истифода аз функсияҳо бо калимаи калидии yield ё изразҳои генераторӣ сохта мешавад. Генераторҳо бо эҳтиёҷ пурсамар арзишҳоро ҳисоб мекунанд, ки ин ёдгории хотирасозиро сарфа мекунад ва имкон медиҳад бо пайдарпаҳои эҳтимолан беохир кор кардан.
Тафовутҳои асосӣ:
- Итератор интерфейси умумӣ барои гузаронидани унсурҳо дар пайдарпаӣ мебошад.
- Генератор роҳи қулайи эҷоди итераторҳо бо истифода аз
yieldмебошад.
Масалан генератор:
def count_up_to(n):
count = 1
while count <= n:
yield count
count += 1
for number in count_up_to(5):
print(number)
Ин ҷо, count_up_to генераторест, ки шумораҳоро аз 1 то n, яке поя поя, бармегардонад.