
Створіть ітерований об’єкт, у разі ітерації яким повертається генератор.


Ответы на вопрос

Відповідь:
class MyIterable:
def __init__(self, data):
self.data = data
def __iter__(self):
for item in self.data:
yield item
iterable = MyIterable([1, 2, 3, 4, 5])
for item in iterable:
print(item)
Пояснення:
Якщо коротко , MyIterable є ітерованим об'єктом який при ітерації повертає генератор. Наступний елемент у цьому обьєкті буде видаватись у цьому генераторі при методі __next__
:)))



Для того, щоб створити ітерований об'єкт, у разі ітерації яким повертається генератор, можна використати вираз-генератор або функцію-генератор. Вираз-генератор - це вираз, який має синтаксис подібний до спискового включення, але використовує круглі дужки замість квадратних. Вираз-генератор створює об'єкт-генератор, який можна ітерувати за допомогою циклу for або функції next. Наприклад:
```python # Вираз-генератор, який повертає квадрати чисел зі списку squares = (n**2 for n in [1, 2, 3, 4, 5])
# Ітерація по об'єкту-генератору for s in squares: print(s) ```
Функція-генератор - це функція, яка використовує оператор yield для повернення значень під час виконання. Функція-генератор також створює об'єкт-генератор, який можна ітерувати. Наприклад:
```python # Функція-генератор, яка повертає квадрати чисел від 1 до n def gen_squares(n): for i in range(1, n+1): yield i**2
# Ітерація по об'єкту-генератору for s in gen_squares(5): print(s) ```
Ви можете прочитати більше про ітерацію в Python, вирази-генератори та функції-генератори в цих джерелах .


Похожие вопросы
Топ вопросов за вчера в категории Информатика
Последние заданные вопросы в категории Информатика
-
Математика
-
Литература
-
Алгебра
-
Русский язык
-
Геометрия
-
Английский язык
-
Химия
-
Физика
-
Биология
-
Другие предметы
-
История
-
Обществознание
-
Окружающий мир
-
География
-
Українська мова
-
Информатика
-
Українська література
-
Қазақ тiлi
-
Экономика
-
Музыка
-
Право
-
Беларуская мова
-
Французский язык
-
Немецкий язык
-
МХК
-
ОБЖ
-
Психология
-
Физкультура и спорт
-
Астрономия
-
Кыргыз тили
-
Оʻzbek tili