13
Python's "next" function (www.pythonmorsels.com)

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.

you are viewing a single comment's thread
view the rest of the comments
[-] Spott@lemmy.world 4 points 1 year ago

All ‘next’ does is call ‘next’, which is part of the spec for ‘iterator’s.

Iterables return iterators when ‘iter’ is called on them. So they don’t need to support ‘next’ natively, their corresponding iterator does that.

[-] KKriegGG@programming.dev 1 points 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 1 points 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 1 points 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__)

this post was submitted on 17 Jul 2023
13 points (100.0% liked)

Python

6416 readers
2 users here now

Welcome to the Python community on the programming.dev Lemmy instance!

📅 Events

PastNovember 2023

October 2023

July 2023

August 2023

September 2023

🐍 Python project:
💓 Python Community:
✨ Python Ecosystem:
🌌 Fediverse
Communities
Projects
Feeds

founded 1 year ago
MODERATORS