Модуль operator в Python3
В Python 2.x используйтеcmp()функцию для сравнения соотношения размеров двух списков, чисел, строк и т. д.
В Python 3.X больше нетcmp()функции. Если вам нужно реализовать функциональность сравнения, необходимо импортироватьoperatorмодуль, который подходит для любого объекта и включает следующие методы:
Методы, содержащиеся в модуле operator
operator.le(a, b)
operator.eq(a, b)
operator.ne(a, b)
operator.ge(a, b)
operator.gt(a, b)
operator.__lt__(a, b)
operator.__le__(a, b)
operator.__eq__(a, b)
operator.__ne__(a, b)
operator.__ge__(a, b)
operator.__gt__(a, b)
operator.lt(a, b)иa < bто же, что,operator.le(a, b)иa <= bто же, что,operator.eq(a, b)иa == bто же, что,operator.ne(a, b)иa != bто же, что,operator.gt(a, b)иa > bто же, что,operator.ge(a, b)иa >= bто же, что.
Пример
import operator
# Числа
x = 10
y = 20
print("x:",x, ", y:",y)
print("operator.lt(x,y): ", operator.lt(x,y))
print("operator.gt(y,x): ", operator.gt(y,x))
print("operator.eq(x,x): ", operator.eq(x,x))
print("operator.ne(y,y): ", operator.ne(y,y))
print("operator.le(x,y): ", operator.le(x,y))
print("operator.ge(y,x): ", operator.ge(y,x))
print()
# Строки
x = "Google"
y = "Example"
print("x:",x, ", y:",y)
print("operator.lt(x,y): ", operator.lt(x,y))
print("operator.gt(y,x): ", operator.gt(y,x))
print("operator.eq(x,x): ", operator.eq(x,x))
print("operator.ne(y,y): ", operator.ne(y,y))
print("operator.le(x,y): ", operator.le(x,y))
print("operator.ge(y,x): ", operator.ge(y,x))
print()
# Проверить возвращаемое значение
print("type((operator.lt(x,y)): ", type(operator.lt(x,y)))
Вывод вышеприведённого кода:
x: 10 , y: 20 operator.lt(x,y): True operator.gt(y,x): True operator.eq(x,x): True operator.ne(y,y): False operator.le(x,y): True operator.ge(y,x): True x: Google , y: Example operator.lt(x,y): True operator.gt(y,x): True operator.eq(x,x): True operator.ne(y,y): False operator.le(x,y): True operator.ge(y,x): True
Сравнение двух списков:
Пример
import operator
a = [1, 2]
b = [2, 3]
c = [2, 3]
print("operator.eq(a,b): ", operator.eq(a,b))
print("operator.eq(c,b): ", operator.eq(c,b))
Вывод вышеприведённого кода:
operator.eq(a,b): False operator.eq(c,b): True
Функции операторов
Модуль operator предоставляет набор высокоэффективных функций, соответствующих встроенным операторам Python. Например,operator.add(x, y)— то же самое, что и выражениеx+y.
Типы функций включают: операции сравнения, логические операции, математические операции и операции над последовательностями объектов.
Функции сравнения объектов применимы ко всем объектам, а имена функций даны в соответствии с их операторами сравнения.
Многие имена функций совпадают с именами специальных методов, только без двойных подчеркиваний. Для обратной совместимости также сохранены многие функции с двойными подчеркиваниями. Для ясности рекомендуется использовать функции без двойных подчеркиваний.
Пример
# add(), sub(), mul()
# Импорт модуля operator
import operator
# Инициализация переменных
a = 4
b = 3
# Использование add() для сложения двух значений
print ("результат операции add():",end="");
print (operator.add(a, b))
# Используйте sub() для вычитания двух значений
print ("результат операции sub():",end="");
print (operator.sub(a, b))
# Используйте mul() для умножения двух значений
print ("результат операции mul():",end="");
print (operator.mul(a, b))
Вывод вышеприведённого кода:
add() 运算结果 :7 sub() 运算结果 :1 mul() 运算结果 :12
Действие |
Синтаксис |
Функция |
|---|---|---|
Сложение |
|
|
Конкатенация строк |
|
|
Проверка вхождения |
|
|
Деление |
|
|
Деление |
|
|
Побитовое И |
|
|
Побитовое XOR |
|
|
Побитовое НЕ |
|
|
Побитовое ИЛИ |
|
|
Возведение в степень |
|
|
Идентичность |
|
|
Идентичность |
|
|
Присваивание по индексу |
|
|
Удаление по индексу |
|
|
Значение по индексу |
|
|
Сдвиг влево |
|
|
Остаток от деления |
|
|
Умножение |
|
|
Умножение матриц |
|
|
Отрицание (арифметическое) |
|
|
Логическое отрицание |
|
|
Унарный плюс |
|
|
Сдвиг вправо |
|
|
Присваивание срезу |
|
|
Удаление среза |
|
|
Значение среза |
|
|
Форматирование строк |
|
|
Вычитание |
|
|
Проверка истинности |
|
|
Сравнение |
|
|
Сравнение |
|
|
Равенство |
|
|
Неравенство |
|
|
Сравнение |
|
|
Сравнение |
|
|