Operadores en Python

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 5y 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.

  1. Si alguno de los operandos es un número complejo, el resultado se convierte en complejo;
  2. Si alguno de los operandos es un número de coma flotante, el resultado se convierte a coma flotante;
  3. 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ónOperadorFunciónEjemplo 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 derechooperador.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:

OperadorFunciónEjemplo 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.

OperadorFunciónDescripciónEjemplo 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.

OperadorDescripciónEjemplo
yVerdadero si ambos son verdaderos>>> x = 5; y = 6 >>> x > 1 and y <10 True
oVerdadero si al menos uno es cierto>>> x = 5; y = 6 >>> x > 6 or y <10 True
noDevuelve 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.

OperadorFunciónDescripciónEjemplo en Python Shell
esoperador.is_ (a, b)Verdadero si ambos son verdaderos>>> x = 5; y = 6 >>> x is y False >>> import operator >>> operator.is_(x,y) False
no esoperador.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 iny not inprueba si la secuencia tiene un elemento dado o no. Para los tipos de cadena y bytes, x in yes Verdadero si y solo si xes una subcadena de y.

OperadorFunciónDescripciónEjemplo en Python Shell
enoperador.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 enno 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.

OperadorFunciónDescripciónEjemplo en Python Shell
Yoperador.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