__siguiente__ en generadores e iteradores y ¿qué es un contenedor de métodos?
Estaba leyendo sobre generador e iteradores y el papel de__next__()
.
'__next__' in dir(mygen)
. es verdad
'__next__' in dir(mylist)
, Es falso
Mientras lo miraba más profundamente,
'__next__' in dir (mylist.__iter__())
es verdad
por que es__next__
solo disponible para listar pero solo para__iter__()
ymygen
pero nomylist
. Cómo__iter__()
llamada__next__
cuando estamos pasando por la lista usando la comprensión de la lista
Intentando subir (+1) manualmente el generador, llamémygen.__next__()
. No existe Solo existe comomygen.__next__
que se llama método-wrapper.
¿Qué es un método de envoltura y qué hace? Cómo se aplica aquí: enmygen() and __iter__() ?
Si__next__
es lo que proporcionan tanto el generador como el iterador (y sus únicas propiedades), ¿cuál es la diferencia entre el generador y el iterador? *
Respuesta a 3: Resuelto, como lo señaló mod / editor:
Diferencia entre los generadores e iteradores de Python
ACTUALIZACIÓN: tanto el generador como el iterador tienen__next__()
. Mi error. Mirando los registros, de alguna maneramygen.__next__()
la prueba me estaba dando un error de excepción de stopiteración. Pero no pude duplicar ese error nuevamente.
Gracias a todos por responder!