Python PEP479 Change Stop Manejo de iteración dentro de generadores
¿Podría alguien ayudarme a entender de qué se trata PEP479? Estaba leyendo el documento y no pude entenderlo.
El resumen dice:
Este PEP propone un cambio a los generadores: cuando StopIteration se genera dentro de un generador, se reemplaza con RuntimeError. (Más precisamente, esto sucede cuando la excepción está a punto de salir del marco de la pila del generador).
Entonces, por ejemplo, ¿un bucle como sigue funcionando?
it = iter([1,2,3])
try:
i = next(it)
while True:
i = next(it)
except StopIteration:
pass
¿O significa que si tengo una definición de generador como esta:
def gen():
yield from range(5)
raise StopIteration
elStopIteration
va a ser reemplazado conRuntimeError
?
Realmente agradecería si alguien pudiera arrojar algo de luz sobre esto.