object.__le__
Позволяет реализовать проверку на «меньше равно» для экземпляров пользовательских типов.
object.__le__(self, other)
self -- Ссылка на экземпляр.
other -- Объект с которым следует произвести сравнение (справа от оператора сравнения).
other -- Объект с которым следует произвести сравнение (справа от оператора сравнения).
Метод для реализации «богатого» сравнения. le от англ. «less equal» — «меньше равно».
Метод может возбудить исключение NotImplemented, если сравнение для указанной пары аргументов не реализовано.
В соответствии с договорённостью в случае успешного сравнения возвращает
Между различными операторами сравнения нет подразумеваемых взаимосвязей. Так истинность
Не существует «перевёрнутых» методов, которые могли бы использоваться автоматически, если левый аргумент не поддерживает вызванную операцию, а правый поддерживает. Вместо этого обычно считают зеркальными
Для автоматического генерирования операций упорядочивания по единой базовой операции можно использовать
Для получения дополнительной важной информации об использовании «богатого сравнения» при создании объектов, поддерживающих хеширование, которые могут использоваться в качестве ключей в словарях смотрите object.__hash__().
Метод может возбудить исключение NotImplemented, если сравнение для указанной пары аргументов не реализовано.
В соответствии с договорённостью в случае успешного сравнения возвращает
True
, либо False
. Однако, может возвращать и любое другое значение, таким образом, если результат сравнения будет использован в контексте Булева типа (например, в условии if), Питон произведёт вызов bool() для интерпретации данного значения. class Moon:
r = 1737.10
def __le__(self, other):
print('moon le')
return self.r <= other.r
class Earth:
r = 6371.0
def __le__(self, other):
print('earth le')
return self.r <= other.r
my_moon = Moon()
my_earth = Earth()
is_le = (my_moon <= my_earth) # moon le
is_le # True
is_le = (my_earth <= my_moon) # earth le
is_le # False
is_le = (my_moon <= my_moon) # moon le
is_le # True
Между различными операторами сравнения нет подразумеваемых взаимосвязей. Так истинность
(x< y or x==y)
не подразумевает x<=y
. Не существует «перевёрнутых» методов, которые могли бы использоваться автоматически, если левый аргумент не поддерживает вызванную операцию, а правый поддерживает. Вместо этого обычно считают зеркальными
__le__()
и __ge__()
. +py3.4 Если операнды имеют различные типы и тип правого операнда является прямым или косвенным наследником типа левого операнда о метод-отражение правого операнда имеет приоритет, в иных случаях приоритет остаётся у метода левого операнда. При этом виртуальное наследование не учитывается.Для автоматического генерирования операций упорядочивания по единой базовой операции можно использовать
functools.total_ordering()
.Для получения дополнительной важной информации об использовании «богатого сравнения» при создании объектов, поддерживающих хеширование, которые могут использоваться в качестве ключей в словарях смотрите object.__hash__().
Синонимы поиска: object.__le__, object, __le__, меньше равно
В разделе «object (объект)»:
file (файл)
object.__add__
object.__bool__
object.__call__
object.__ceil__
object.__class__
object.__cmp__
object.__contains__
object.__copy__
object.__deepcopy__
object.__del__
object.__delattr__
object.__delete__
object.__delitem__
object.__delslice__
object.__dir__
object.__enter__
object.__eq__
object.__exit__
object.__floor__
object.__format__
object.__ge__
object.__get__
object.__getattr__
object.__getattribute__
object.__getitem__
object.__getslice__
object.__getstate__
object.__gt__
object.__hash__
object.__init__
object.__init_subclass__
object.__iter__
object.__len__
object.__lt__
object.__missing__
object.__ne__
object.__new__
object.__next__
object.next
object.__nonzero__
object.__qualname__
object.__rcmp__
object.__repr__
object.__reversed__
object.__set__
object.__setattr__
object.__setitem__
object.__set_name__
object.__setslice__
object.__setstate__
object.__slots__
object.__str__
object.__sub__
object.__subclasses__
object.__unicode__
property (свойство)
Protocols (протоколы)
slice (срез)
Встроенные исключения
На заметку
Зарегистрированные пользователи могут оценивать Книги, Видео, Статьи и прочее, а также добавлять их в избранное, для упрощения доступа к ним в будущем.