IIC2233 / Syllabus-2022-1

Repositorio oficial del curso IIC2233 Programación Avanzada 🚀✨
https://iic2233.ing.puc.cl/
45 stars 40 forks source link

Duda Iterables #248

Open Lexiesm opened 2 years ago

Lexiesm commented 2 years ago

Buenas tardes! estaba estudiando la materia de iterables y me queda una duda, subo screenshot: imagen

En este ejemplo previamente se creó la clase Impuesto que es el iterable de ImpuestoIterador, mi pregunta es, por qué cuando creo la variable impuestos = Impuestos() y entra al for, se termina imprimiendo el método next del Iterador?, anteriormente se llamaba al next como next(iterador) pero esta vez no y aún así se reprodujo el next. Tengo esta duda porque pensé que si no se llamaba al next directamente, debería retornar solo al iter del iterador.

Gracias de antemano!

Christian-Klempau commented 2 years ago

No sé si entendí del todo tu duda, pero puedes pensar el funcionamiento interno de un for sobre un iterable de la siguiente manera:

try:
  iterator = iter(iterable)
  while True:
      next(iterator)
except StopIteration:
      pass