У меня есть пользовательский класс,
class A:
def __init__(self, a, b):
self.a = a
self.b = b
Класс не является итерируемым или индексируемым или что-то в этом роде. Если это вообще возможно, я хотел бы сохранить его таким образом. Возможно ли иметь что-то вроде следующей работы?
>>> x = A(1, 2)
>>> min(x)
1
>>> max(x)
2
Что заставило меня задуматься над тем, что min
и max
перечислены как "Операции общей последовательности" в docs. Поскольку range
считается типом последовательности теми же документами, я думал, что должна быть какая-то оптимизация, которая возможна для range
и, возможно, я мог бы воспользоваться этим.
Возможно, есть волшебный метод, о котором я не знаю, что бы это сделать?