charolastra@programming.devtoLearn Programming@programming.dev•Just started learning python - question about types of statements.
3·
2 months agoAt the end of the day, len(ob)
just defers to ob.__len__()
so both are correct, just one’s more functional and one’s more object oriented.
Keyword “typically”. If I’m overriding dunder methods, then I’ll typically need to call the super method as well. It’s not like it’s forbidden.
Consider the following:
class MyStr(str): def len(self): return len(self) # OR return self.__len__()
Both of the above return values are perfectly valid Python.