Сообщить об ошибке.

Функциональный интерфейс для встроенных операторов

Модуль operator экспортирует набор эффективных функций, которые соответствуют внутренним операторам Python.

Например operator.add(x, y) эквивалентен выражению x + y.

Многие имена функций используются для специальных методов без двойного подчеркивания. Для обратной совместимости многие из них имеют вариант с сохранением двойного подчеркивания. Варианты без двойного подчеркивания предпочтительны для ясности.

Фрагмент кода показывает, как можно написать простой калькулятор при помощи модуля operator.

import operator

action = {
    "+": operator.add,
    "-": operator.sub,
    "/": operator.truediv,
    "*": operator.mul,
    "**": operator.pow
}

>>> action['-'](50, 25)
# 25
>>> action['+'](50, 25)
# 75
>>> action['/'](50, 25)
# 2.0
>>> action['*'](50, 25)
# 1250

Введение в модуль operator в Python

При программировании на Python встречаются разные ситуации, когда работа с более или менее сложными структурами данных становится раздражающей. В стандартной библиотеке Python есть модуль operator, который помогает уменьшить это чувство.

Функции сравнения объектов модуля operator в Python

Функции сравнения объектов полезны для всех объектов и названы в честь поддерживаемых операторов сравнения:

Функции логических операций модуля operator в Python

Логические операции также обычно применимы ко всем объектам и поддерживают тесты на истинность, тесты на идентичность и логические операции.

Математические и побитовые функции модуля operator в Python

Арифметические и побитовые операторы для манипулирования числовыми значениями также поддерживаются и являются самыми многочисленными.

Функции для работы с последовательностями модуля operator в Python

Функции для работы с последовательностями можно разделить на четыре группы: создание последовательностей, поиск элементов, доступ к содержимому и удаление элементов из последовательностей.

Функции операций на месте модуля operator в Python

Многие операции в языке Python имеют версию "операций на месте". Ниже перечислены функции, обеспечивающие более простой доступ к операторам на месте, чем обычный синтаксис.

Общий интерфейс поиска атрибутов и элементов модуля operator в Python

Геттеры особенно полезны при работе с итераторами или последовательностями генераторов, где они предназначены для быстрого извлечения полей аргументов из функций для map(), sorted(), itertools.groupby() или других функций, которые ожидают аргумент переданной функции.

Таблица соответствия функций модуля operator, операторам языка в Python

Таблица, представленная в этом разделе показывает, как абстрактные операции соответствуют символам операторов в синтаксисе Python и функциям в модуле operator.