В книге [Learning Python] утверждается, что диапазон является генератором - это ложное утверждение? - PullRequest
0 голосов
/ 27 августа 2018

Ради обсуждения: Я задам следующий вопрос на основе Python 3.6.1

, который я прочитал из книги [Learning Python] (5-е издание, глава 20, стр.614) что:

Как мы уже видели, фундаментальные встроенные инструменты, такие как диапазон, карта, ключи словаря и даже файлы, теперь являются генераторами, поэтому вы должны быть знакомы с концепцией, даже еслиВы не пишете новые собственные генераторы.

Это ложное утверждение?

Я думал, что объект, являющийся итератором, является необходимым, но не достаточным условием для егобыть генератором.То есть итератор генератора всегда является самим генератором.

Однако ключи диапазона и словаря являются итеративными, но они НЕ являются их собственными итераторами.Если они не являются итераторами, как они могут быть генераторами?

1 Ответ

0 голосов
/ 27 августа 2018

Иногда люди используют «генератор» для обозначения любой ленивой итерации, даже если это не точное определение.В Python 3 диапазон является ленивым итерируемым.

...