Is there any case where len(someObj)
does not call someObj's __len__
function?
I recently replaced the former with the latter in a (sucessful) effort to speed up some code. I want to make sure there's not some edge case somewhere where len(someObj)
is not the same as someObj.__len__()
.
If __len__
returns a length over sys.maxsize
, len()
will raise an exception. This isn't true of calling __len__
directly. (In fact you could return any object from __len__
which won't be caught unless it goes through len()
.)
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With