@zlodiak

Удалось ли показать отличия между генератором и итератором?

Перед собеседованием хотелось бы понять не путаюсь ли я в терминологии. Помогите пожалуйста критикой.

Правильно ли я понимаю, что:
1. следует чётко понимать, что существуют понятия: итератор, генератор, итерируемый объект
2. генератор является частным случаем итератора
3. генератор и итератор реализуют интерфейс итератора. То есть имеют методы __iter__(), __next__()
4. итерируемый объект имеет метод __iter__(), который возвращает итератор или генератор

Пример итератора к пункту3 здесь.

Пример генератора к пункту3 здесь.
  • Вопрос задан
  • 212 просмотров
Пригласить эксперта
Ответы на вопрос 1
planc
@planc
вся суть в этом:

from time import sleep


def my_g():
    for i in range(5):
        sleep(1)
        yield i


def my_i():
    ar = []
    for i in range(5):
        sleep(1)
        ar.append(i)
    return ar


print("generator:")
for i in my_g():
    print(i)


print("iterator:")
for i in my_i():
    print(i)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы