News for hackers. Stuff that matters.
Re:Python built-ins worth learning (2019) by dragonwriter on Thursday March 24, 2022 @02:07AM (#30786773)
> I don't see how using len() this way is any different than doing an isinstance check.

It's a protocol (structural) runtime type check, not a class (nominal) runtime type check.

Re:Python built-ins worth learning (2019) by saila on Wednesday March 30, 2022 @12:43AM (#30851555)
Perhaps true but misses the point. If you’re using len() for type checking, it’s essentially no different than doing isinstance(items, Sized). The latter explicitly calls out what you’re doing and makes it clear, to me, that’s it’s not really correct, in that it doesn’t show your intent, which is to enforce a sequence of items in a container not that the object has a size.