[Python-ideas] "Exposing" `__min__` and `__max__`

Chris Barker - NOAA Federal chris.barker at noaa.gov
Wed Jun 27 11:23:34 EDT 2018

I don’t think anyone would argue that there would be use cases for
__max__ and __min__  special methods.

However, there is substantial overhead to adding new magic methods, so
the question is not whether it would be useful in some special cases,
but whether it would be useful enough in common enough cases to be
worth the overhead.

For example, we had a discussion on this list about adding a
__sort_key__ magic method, so that classes could make themselves
efficiently sortable.

That was not deemed generally useful enough to be worth it.

In this case, I think numpy arrays are a good example to think about
(as supposed to range objects :-) )

Numpy arrays can certainly find their max and min more efficiently
than the generic functions, and are “proper” sequences that can be
used in generic code.

But they also have a particular signature for max and min (axis
parameter) so really don’t map well to a dunder.

They also have their own ways of doing all sorts of things that are
different than a “typical” iterarable.

I expect that is the case for other special data structures like trees, etc.

So I don’t think this rises to the level of generally universal enough
for a magic method.


More information about the Python-ideas mailing list