Вы можете сделать так, чтобы операторы сравнения ваших пользовательских классов возвращали все, что вам нравится - просто реализуйте соответствующие методы (__eq__
, __ne__
, __gt__
, __lt__
, __ge__
, __le__
) вернуть то, что вы хотите. Для объектов, которые вы не контролируете, вы не можете это изменить, но в этом нет необходимости: bools - это целые, из-за принципа замены Лискова . Код, который замечает разницу между логическим значением, возвращаемым методами __eq__
встроенных типов, и любым другим целым числом, использует неверный результат.
Модуль __future__
здесь не актуален; вы не можете использовать его, чтобы делать все, что вы хотите, вы можете использовать его только для изменения определенных настроек, которые были добавлены в Python. Вы можете превратить деление в истинное деление с помощью импорта __future__
, потому что это то, что было добавлено в Python. Единственный способ добавить больше __future__
импорта - это изменить сам Python.