Хотя внутреннее состояние генератора может изменяться, генератор в целом никогда не сможет добавить что-то к себе и никогда не сможет вернуться на шаг назад, перебирая его. Следовательно, генератор - это фиксированный неизменяемый объект, который является почти определением возможности хэширования.
Но даже глубже, даже изменяемые объекты могут быть хэшируемыми, если они определяют __hash__
как метод экземпляра. , но это редко желательно для изменяемых объектов.