Operadores de Python: aritmética, asignación, comparación, lógica, identidad, membresía, bit a bit
Los operadores son símbolos especiales que realizan alguna operación en operandos y devuelven el resultado. Por ejemplo, 5 + 6
es una expresión donde +
es un operador que realiza una operación de suma aritmética en el operando numérico izquierdo 5
y el operando del lado derecho 6
y devuelve una suma de dos operandos como resultado.
Python incluye el operador módulo de que incluye métodos subyacentes para cada operador. Por ejemplo, el +
el operador llama al operator.add(a,b)
. Ejemplo: métodos de operador
>>> 5 + 6
11
>>> import operator
>>> operator.add(5, 6)
11
>>> operator.__add__(5, 6)
11
Arriba, expresión 5 + 6
es equivalente a la expresión operator.add(5, 6)
y operator.__add__(5, 6)
. Muchos nombres de funciones son los que se utilizan para métodos especiales, sin el doble subrayado (métodos dunder). Para compatibilidad con versiones anteriores, muchos de estos tienen funciones con los guiones bajos dobles mantenidos.
Python incluye las siguientes categorías de operadores:
- Operadores aritméticos
- Operadores de Asignación
- Operadores de comparación
- Operadores logicos
- Operadores de identidad
- Operadores de prueba de membresía
- Operadores bit a bit
Operadores aritméticos
Los operadores aritméticos realizan la operación matemática común en los operandos numéricos.
Los operadores aritméticos devuelven el tipo de resultado que depende del tipo de operandos, como se muestra a continuación.
- Si alguno de los operandos es un número complejo, el resultado se convierte en complejo;
- Si alguno de los operandos es un número de coma flotante, el resultado se convierte a coma flotante;
- Si ambos operandos son números enteros, entonces el resultado es un número entero y no se necesita conversión.
La siguiente tabla enumera todos los operadores aritméticos en Python:
Operación | Operador | Función | Ejemplo en Python Shell |
---|---|---|---|
Adición: suma de dos operandos | + | operador.add (a, b) | >>> x = 5; y = 6 >>> x + y 11 >>> import operator >>> operator.add(5,6) 11 |
Resta: operando izquierdo menos operando derecho | – | operador.sub (a, b) | >>> x = 10; y = 5 >>> x - y 5 >>> import operator >>> operator.sub(10, 5) 5 |
Multiplicación | * | operador.mul (a, b) | >>> x = 5; y = 6 >>> x * y 30 >>> import operator >>> operator.mul(5,6) 30 |
Exponenciación: operando izquierdo elevado a la potencia del derecho | ** | operator.pow (a, b) | >>> x = 2; y = 3 >>> x ** y 8 >>> import operator >>> operator.pow(2, 3) 8 |
División | / | operador.truediv (a, b) | >>> x = 6; y = 3 >>> x / y 2 >>> import operator >>> operator.truediv(6, 3) 2 |
División de piso: equivalente a math.floor(a/b) | // | operator.floordiv (a, b) | >>> x = 6; y = 5 >>> x // y 1 >>> import operator >>> operator.floordiv(6,5) 1 |
Módulo: recordatorio de a/b | % | operador.mod (a, b) | >>> x = 11; y = 3 >>> x % y 12 >>> import operator >>> operator.mod(11, 3) 2 |
Operadores de Asignación
Los operadores de asignación se utilizan para asignar valores a las variables. La siguiente tabla enumera todos los operadores aritméticos en Python:
Operador | Función | Ejemplo en Python Shell |
---|---|---|
= | >>> x = 5; >>> x 5 | |
+= | operador.iadd (a, b) | >>> x = 5 >>> x += 5 10 >>> import operator >>> x = operator.iadd(5, 5) 10 |
-= | operador.isub (a, b) | >>> x = 5 >>> x -= 2 3 >>> import operator >>> x = operator.isub(5,2) |
*= | operador.imul (a, b) | >>> x = 2 >>> x *= 3 6 >>> import operator >>> x = operator.imul(2, 3) |
/= | operador.itruediv (a, b) | >>> x = 6 >>> x /= 3 2 >>> import operator >>> x = operator.itruediv(6, 3) |
//= | operator.ifloordiv (a, b) | >>> x = 6 >>> x //= 5 1 >>> import operator >>> operator.ifloordiv(6,5) |
%= | operador.imod (a, b) | >>> x = 11 >>> x %= 3 2 >>> import operator >>> operator.imod(11, 3) 2 |
& = | operador.iand (a, b) | >>> x = 11 >>> x &= 3 1 >>> import operator >>> operator.iand(11, 3) 1 |
|= | operador.ior (a, b) | >>> x = 3 >>> x |= 4 7 >>> import operator >>> operator.mod(3, 4) 7 |
^= | operador.ixor (a, b) | >>> x = 5 >>> x ^= 2 7 >>> import operator >>> operator.ixor(5, 2) 7 |
>> = | operador.irshift (a, b) | >>> x = 5 >>> x >>= 2 1 >>> import operator >>> operator.irshift(5, 2) 1 |
<< = | operador.ilshift (a, b) | >>> x = 5 >>> x <<= 2 20 >>> import operator >>> operator.ilshift(5, 2) 20 |
ANUNCIO PUBLICITARIO
Operadores de comparación
Los operadores de comparación comparan dos operandos y devuelven un valor booleano Verdadero o Falso. La siguiente tabla enumera los operadores de comparación en Python.
Operador | Función | Descripción | Ejemplo en Python Shell |
---|---|---|---|
> | operador.gt (a, b) | Verdadero si el operando izquierdo es más alto que el derecho | >>> x = 5; y = 6 >>> x > y False >>> import operator >>> operator.gt(5,6) False |
< | operador.lt (a, b) | Verdadero si el operando izquierdo es más bajo que el derecho | >>> x = 5; y = 6 >>> x < y True >>> import operator >>> operator.add(5,6) True |
== | operador.eq (a, b) | Verdadero si los operandos son iguales | >>> x = 5; y = 6 >>> x == y False >>> import operator >>> operator.eq(5,6) False |
!= | operador.ne (a, b) | Verdadero si los operandos no son iguales | >>> x = 5; y = 6 >>> x != y True >>> import operator >>> operator.ne(5,6) True |
> = | operador.ge (a, b) | Verdadero si el operando de la izquierda es mayor o igual que el de la derecha | >>> x = 5; y = 6 >>> x >= y False >>> import operator >>> operator.ge(5,6) False |
<= | operador.le (a, b) | Verdadero si el operando de la izquierda es menor o igual que el de la derecha | >>> x = 5; y = 6 >>> x <= y True >>> import operator >>> operator.le(5,6) True |
Operadores logicos
Los operadores lógicos se utilizan para combinar dos expresiones booleanas. Las operaciones lógicas son generalmente aplicables a todos los objetos y admiten pruebas de verdad, pruebas de identidad y operaciones booleanas.
Operador | Descripción | Ejemplo |
---|---|---|
y | Verdadero si ambos son verdaderos | >>> x = 5; y = 6 >>> x > 1 and y <10 True |
o | Verdadero si al menos uno es cierto | >>> x = 5; y = 6 >>> x > 6 or y <10 True |
no | Devuelve Verdadero si una expresión se evalúa como falsa y viceversa. | >>> x = 5 >>> not x > 1 False |
Operadores de identidad
Los operadores de identidad comprueban si los dos objetos tienen el mismo valor de identificación ei ambos objetos apuntan a la misma ubicación de memoria.
Operador | Función | Descripción | Ejemplo en Python Shell |
---|---|---|---|
es | operador.is_ (a, b) | Verdadero si ambos son verdaderos | >>> x = 5; y = 6 >>> x is y False >>> import operator >>> operator.is_(x,y) False |
no es | operador.no_es_ (a, b) | Verdadero si al menos uno es cierto | >>> x = 5; y = 6 >>> x is not y True >>> import operator >>> operator.is_not(x, y) True |
Operadores de prueba de membresía
Los operadores de prueba de membresía in
y not in
prueba si la secuencia tiene un elemento dado o no. Para los tipos de cadena y bytes, x in y
es Verdadero si y solo si x
es una subcadena de y
.
Operador | Función | Descripción | Ejemplo en Python Shell |
---|---|---|---|
en | operador.contiene (a, b) | Devuelve True si la secuencia contiene el elemento especificado; de lo contrario, devuelve False. | >>> nums = [1,2,3,4,5] >>> 1 in nums True >>> 10 in nums False >>> 'str' in 'string' True >>> import operator >>> operator.contains(nums, 2) True |
no en | no operador contiene (a, b) | Devuelve True si la secuencia no contiene el elemento especificado; de lo contrario, devuelve False. | >>> nums = [1,2,3,4,5] >>> 1 not in nums False >>> 10 not in nums True >>> 'str' not in 'string' False >>> import operator >>> not operator.contains(nums, 2) False |
Operadores bit a bit
Los operadores bit a bit realizan operaciones en operandos binarios.
Operador | Función | Descripción | Ejemplo en Python Shell |
---|---|---|---|
Y | operador.y_ (a, b) | Establece cada bit en 1 si ambos bits son 1. | >>> x=5; y=10 >>> z=x & y >>> z 0 >>> import operator >>> operator.and_(x, y) 0 |
| | operador. o_ (a, b) | Establece cada bit en 1 si uno de los dos bits es 1. | >>> x=5; y=10 >>> z=x | y >>> z 15 >>> import operator >>> operator.or_(x, y) 15 |
^ | operador.xor (a, b) | Establece cada bit en 1 si solo uno de los dos bits es 1. | >>> x=5; y=10 >>> z=x ^ y >>> z 15 >>> import operator >>> operator.xor(x, y) 15 |
~ | operador.invertir (a) | Invierte todos los bits. | >>> x=5 >>> ~x -6 >>> import operator >>> operator.invert(x) -6 |
<< | operator.lshift (a, b) | Desplácese hacia la izquierda presionando ceros desde la derecha y deje que los bits más a la izquierda se caigan. | >>> x=5 >>> x<<2 20 >>> import operator >>> operator.lshift(x,2) 20 |
>> | operator.rshift (a, b) | Desplácese hacia la derecha empujando copias del bit más a la izquierda desde la izquierda, y deje que los bits más a la derecha se caigan. | >>> x=5 >>> x>>2 1 >>> import operator >>> operator.rshift(x,2) 1 |