Módulo operator de Python3
En la versión Python 2.x, se usacmp()la función para comparar el tamaño relativo de dos listas, números o cadenas, etc.
En la versión Python 3.X ya no existecmp()la función. Si necesitas implementar comparaciones, debes importaroperatorel módulo operator, adecuado para cualquier objeto. Los métodos incluidos son:
Métodos incluidos en el módulo 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)ya < bequivalente a,operator.le(a, b)ya <= bequivalente a,operator.eq(a, b)ya == bequivalente a,operator.ne(a, b)ya != bequivalente a,operator.gt(a, b)ya > bequivalente a,operator.ge(a, b)ya >= bequivalente.
Ejemplo
import operator
# Números
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()
# Cadenas
x = "Google"
y = "Ejemplo"
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()
# Ver el valor de retorno
print("type((operator.lt(x,y)): ", type(operator.lt(x,y)))
El resultado de salida del código anterior es:
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: Ejemplo 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
Comparar dos listas:
Ejemplo
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))
El resultado de salida del código anterior es:
operator.eq(a,b): False operator.eq(c,b): True
Funciones de operadores
El módulo operator proporciona un conjunto de funciones de alta eficiencia que corresponden a los operadores integrados de Python. Por ejemplo,operator.add(x, y)con la expresiónx+yes equivalente.
Los tipos de funciones incluyen: operaciones de comparación de objetos, operaciones lógicas, operaciones matemáticas y operaciones de secuencia.
Las funciones de comparación de objetos se aplican a todos los objetos, y sus nombres se derivan de los operadores de comparación correspondientes.
Muchos nombres de funciones son iguales a los de los métodos especiales, solo que sin dobles guiones bajos. Por compatibilidad con versiones anteriores, también se conservan muchas funciones con dobles guiones bajos. Para mayor claridad, se recomienda usar las funciones sin dobles guiones bajos.
Ejemplo
# add(), sub(), mul()
# Importar el módulo operator
import operator
# Inicializar variables
a = 4
b = 3
# Usar add() para sumar dos valores
print ("Resultado de add() :",end="");
print (operator.add(a, b))
# Usar sub() para restar dos valores
print ("Resultado de sub() :",end="");
print (operator.sub(a, b))
# Usar mul() para multiplicar dos valores
print ("Resultado de mul() :",end="");
print (operator.mul(a, b))
El resultado de salida del código anterior es:
add() 运算结果 :7 sub() 运算结果 :1 mul() 运算结果 :12
Operación |
Sintaxis |
Función |
|---|---|---|
Suma |
|
|
Concatenación de cadenas |
|
|
Prueba de contención |
|
|
División |
|
|
División |
|
|
Y bit a bit |
|
|
O exclusivo bit a bit |
|
|
Complemento bit a bit |
|
|
O bit a bit |
|
|
Exponenciación |
|
|
Identidad |
|
|
Identidad |
|
|
Asignación de índice |
|
|
Eliminación de índice |
|
|
Obtención de índice |
|
|
Desplazamiento a la izquierda |
|
|
Módulo |
|
|
Multiplicación |
|
|
Multiplicación de matrices |
|
|
Negación (aritmética) |
|
|
Negación (lógica) |
|
|
Positivo |
|
|
Desplazamiento a la derecha |
|
|
Asignación de rebanada |
|
|
Eliminación de rebanada |
|
|
Obtención de rebanada |
|
|
Formateo de cadenas |
|
|
Resta |
|
|
Prueba de valor verdadero |
|
|
Comparación |
|
|
Comparación |
|
|
Igualdad |
|
|
Desigualdad |
|
|
Comparación |
|
|
Comparación |
|
|