Для чего предназначен модуль operator в Python?

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

Короткий ответ

Что ответить на собеседовании

Модуль operator предоставляет набор функций, соответствующих встроенным операциям Python. Это позволяет использовать многие операторы как функции, что полезно в функциональном программировании, например, с функциями map(), filter() и reduce(), а также при работе с key в функциях сортировки.

Подробный разбор

Ответ с пояснениями

Модуль operator предоставляет набор функций, соответствующих встроенным операциям Python. Это позволяет использовать многие операторы как функции, что полезно в функциональном программировании, например, с функциями map(), filter() и reduce(), а также при работе с key в функциях сортировки.

Основные категории функций:

  • Сравнения: lt, le, eq, ne, ge, gt.
  • Логические: not_, and_, or_, xor.
  • Математические: add, sub, mul, truediv, floordiv, mod, pow, neg, pos, abs.
  • Побитовые: lshift, rshift, invert.
  • Присваивания (in-place): iadd, isub, imul и т.д.
  • Поиск элементов / атрибутов: itemgetter, attrgetter, methodcaller.
# Пример использования operator.add с map
import operator

def apply_operation(data, operation, value):
    # Применение операции к каждому элементу списка с использованием map
    return list(map(operation, data, [value] * len(data)))

numbers = [1, 2, 3, 4, 5]
# Прибавляем 10 к каждому числу с помощью operator.add
result = apply_operation(numbers, operator.add, 10)
# result будет [11, 12, 13, 14, 15]

# Пример использования operator.itemgetter с sorted
data = [('apple', 3), ('banana', 1), ('cherry', 2)]
# Сортировка по второму элементу кортежей
sorted_data = sorted(data, key=operator.itemgetter(1))
# sorted_data будет [('banana', 1), ('cherry', 2), ('apple', 3)]

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее