I guess I knew the whole “you can’t use next on iterables” in the sense that I’ve never tried it.

I TIL’d about the default value for next.

  • KKriegGG@programming.dev
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Exactly what I wanted to say. I understand teaching by example, but this is more like teaching by trial and error…

    • Spott@lemmy.world
      link
      fedilink
      arrow-up
      1
      ·
      1 year ago

      Yea, it is losing the forest for the trees. Next should be taught as part of iterators and for loops. It makes sense there. It doesn’t really stand on its own much.

      To be honest, I’m not sure why it is a built in function… I feel like saying that python calls the ‘next’ function of your class when iterating is enough. But maybe I’m missing something.

      • o11c@programming.dev
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        The default handling is pretty important.

        What I find more interesting are 1. the two-argument form of iter, and 2. the __getitem__ auto-implementation that causes there to be two incompatible definitions of Iterable.

        (btw your comments are using accidental formatting; use backticks: __next__)