Operadores en Python

Introducción

Los operadores en Python son símbolos especiales que realizan operaciones específicas en uno o más valores (operandos). Son esenciales para realizar cálculos, comparaciones y manipulaciones de datos en los programas.

Operadores en Python
Operadores en Python

Operadores Aritméticos

                    
                      +: Suma                                     # x = 5 + 3 Resultado: x = 8
                      -: Resta                                    # x = 5 - 3 Resultado: x = 2
                      *: Multiplicación                           # x = 5 * 3 Resultado: 15
                      /: División (siempre retorna un float)      # x = 5 / 2 Resultado: 2.5
                      //: División entera (retorna un int)        # x = 5 // 2 Resultado: 2
                      %: Módulo (resto de la división)            # x = 5 % 2 Resultado: 1
                      **: Exponenciación                          # x = 2 ** 3 Resultado: 8
                    
                  

Operadores de Comparación

Comparan dos valores y devuelven un valor booleano (True o False).

                    
                      ==: Igual a                                   # 5 == 5 # Resultado: True
                      !=: No igual a                                # 5 != 3 Resultado: True
                      >: Mayor que                                  # 5 > 3 Resultado: True
                      <: Menor que                                  # 3 < 5 Resultado: True
                      >=: Mayor o igual que                         # 5 >= 5 Resultado: True
                      <=: Menor o igual que                         # 3 <= 5 Resultado: True
                    
                  

Operadores Lógicos

                    
                      and: Y lógico                             # (5 > 3) and (2 < 4) Resultado: True
                      or: O lógico                              # (5 > 3) or (2 > 4) Resultado: True
                      not: Negación lógica                      # not(5 > 3) Resultado: False
                    
                  

Operadores de Asignación

                    
                      =: Asignación simple                        # x = 5 Equivalente a x = 5
                      +=: Asignación con suma                     # x += 3 Equivalente a x = x + 3
                      -=: Asignación con resta                    # x -= 2 Equivalente a x = x - 2
                      *=: Asignación con multiplicación           # x *= 4 Equivalente a x = x * 4
                      /=: Asignación con división                 # x /= 2 Equivalente a x = x / 2
                      //=: Asignación con división entera         # x //= 2 Equivalente a x = x // 2
                      %=: Asignación con resto de la división     # x %= 3 Equivalente a x = x % 3
                      **=: Asignación con Exponenciación          # x **= 2 Equivalente a x = x ** 2
                    
                  

Operadores de Identidad

Comprueban si dos variables hacen referencia al mismo objeto en memoria.

                    
                      is: Comprueba si dos objetos son el mismo objeto
                      x = [1, 2, 3]
                      y = x
                      x is y  # Resultado: True
                      is not: Comprueba si dos objetos no son el mismo objeto
                      x = [1, 2, 3]
                      y = [1, 2, 3]
                      x is not y  # Resultado: True
                    
                  

Operadores de Pertenencia

Comprueban si un valor está presente en una secuencia, como una lista, tupla, cadena o conjunto.

                    
                      in: Comprueba si un valor está en una secuencia
                        3 in [1, 2, 3]  # Resultado: True
                      not in: Comprueba si un valor no está en una secuencia
                        4 not in [1, 2, 3]  # Resultado: True
                    
                  

Operadores Bit a Bit (Para tipos enteros)

                    
                      5 | 3  # Resultado: 7 (0101 | 0011 = 0111)
                      ^ (XOR a nivel de bits): Realiza una operación XOR bit a bit.
                      5 ^ 3  # Resultado: 6 (0101 ^ 0011 = 0110)
                      ~ (NOT a nivel de bits): Invierte los bits.
                      ~5  # Resultado: -6 (invertir los bits de 5)
                      << (Desplazamiento a la izquierda): Desplaza los bits hacia la izquierda, añadiendo ceros.
                      5 << 1  # Resultado: 10 (0101 << 0001 = 1010)
                      >> (Desplazamiento a la derecha): Desplaza los bits hacia la derecha.
                      5 >> 1  # Resultado: 2 (0101 >> 1 = 0010)
                    
                  

Prioridad de los Operadores

En Python, los operadores tienen una prioridad o precedencia que determina el orden en que se evalúan cuando hay múltiples operadores en una expresión. Los operadores de mayor precedencia se evalúan antes que los de menor precedencia. Si varios operadores tienen la misma precedencia, la evaluación se realiza de izquierda a derecha (asociatividad de izquierda), salvo algunas excepciones, como la potencia.

A continuación se presenta una lista de los operadores de Python ordenados de mayor a menor precedencia, junto con ejemplos para ilustrar cómo afecta la prioridad:

Operadores de Paréntesis ()

Los paréntesis tienen la mayor precedencia y se utilizan para forzar un orden específico de evaluación en las expresiones.

                      
                        (3 + 2) * 4  # Resultado: 20
                        # Se evalúa primero lo que está dentro de los paréntesis.
                      
                    

Exponenciación **

Este operador eleva un número a la potencia de otro. Tiene asociatividad de derecha a izquierda, lo que significa que se evalúa de derecha a izquierda.

                      
                        2 ** 3 ** 2  # Resultado: 512
                        # Se evalúa primero 3 ** 2 (9) y luego 2 ** 9.
                      
                    

Operadores Unarios +, -, ~

Estos son operadores que se aplican a un solo operando: + para el valor positivo, - para el negativo, y ~ para la negación bit a bit.

                      -5 + 3  # Resultado: -2
                      
                    

Multiplicación *, División /, División Entera //, Módulo %

Todos estos operadores tienen la misma precedencia y se evalúan de izquierda a derecha.

                      5 * 2 // 3  # Resultado: 3
                        # Se evalúa primero 5 * 2, luego el resultado se divide por 3.
                      
                    

Suma + y Resta -

La suma y la resta también tienen la misma precedencia y se evalúan de izquierda a derecha.

                      5 - 3 + 2  # Resultado: 4
                        # Se evalúa primero 5 - 3, luego se le suma 2.
                      
                    

Operadores de Desplazamiento <<, >>

Estos operadores realizan desplazamientos de bits hacia la izquierda o derecha, respectivamente.

                      
                        # Números positivos
                        a = 5               # binario: 0b0101
                        print(a << 1)       # desplazar a la izquierda 1 → 0b1010 = 10
                        print(a << 2)       # desplazar a la izquierda 2 → 0b10100 = 20

                        print(a >> 1)       # desplazar a la derecha 1 → 0b10 = 2
                        print(a >> 2)       # desplazar a la derecha 2 → 0b1 = 1

                        # Ejemplo 2: con números negativos
                        b = -10             # en binario en complemento a dos (ilustrativo)
                        print(b << 1)       # ≈ -20, porque desplazar hacia la izquierda multiplica por 2
                        print(b << 2)       # ≈ -40

                        print(b >> 1)       # ≈ -5, división por 2 manteniendo signo
                        print(b >> 2)       # ≈ -3, redondeando hacia abajo (más negativo)
                      
                    

Operadores de Comparación <, <=, >, >=

Comparan dos valores y devuelven un valor booleano. Tienen la misma precedencia y se evalúan de izquierda a derecha.

                      
                        a = 5
                        b = 7
                        c = 5

                        print(a == b)       # False, porque 5 no es igual a 7
                        print(a == c)       # True,  5 es igual a 5

                        print(a != b)       # True, porque 5 es distinto de 7

                        print(a < b)     # True, 5 es menor que 7
                        print(a > b)        # False, 5 no es mayor que 7

                        print(a <= c)    # True, 5 es menor o igual que 5
                        print(b >= a)       # True, 7 es mayor o igual que 5
                      
                    

Operadores de Igualdad ==, !=

Comprueban si dos valores son iguales o distintos. Tienen menor precedencia que los operadores de comparación.

                      
                        a = 5
                        b = 7
                        c = 5

                        print(a == b)       # False, porque 5 no es igual a 7
                        print(a == c)       # True,  5 es igual a 5

                        print(a != b)       # True, porque 5 es distinto de 7
                      
                    

Operadores a Nivel de Bits & (AND bit a bit)

Este operador realiza una operación AND a nivel de bits.

                      
                        # Ejemplo 1: números simples
                        
                        a = 0b111100
                        b = 0b001101
                        
                        print(a & b)        # c = 0b001100
                      
                    

Operadores a Nivel de Bits ^ (XOR) y | (OR bit a bit)

Estos operadores realizan operaciones XOR (OR exclusivo) y OR a nivel de bits.

                      
                        a = 00001100
                        b = 00001010
                        
                        print(a | b)        # Esperado: 0001110
                        print(a ^ b)        # Esperado: 0000110
                      
                    

Operadores Lógicos not, and, or

Estos operadores se usan para combinar condiciones lógicas. not tiene mayor precedencia que and y or.

                      
                        # Valores binarios, comprobaciones lógicas simples

                        a = 20
                        b = 40

                        # Se quiere comprobar si ambos son “verdaderos” (> 10) usando and
                        print((a > 10) and (b > 10))    # True, porque a>10 y b>10

                        # Se Usa or para ver si al menos uno es mayor que 10
                        print((a > 30 ) or (b > 30))    # True, porque solo b>30
                        
                        edad = 17
                        print(not (edad >= 18))  # Resultado: True, porque edad >= 18 es False, y not lo invierte

                      
                    

Operadores de Asignación =, +=, -=, *=, /=, etc.

Estos operadores asignan un valor a una variable. Tienen baja precedencia, por lo que las operaciones del lado derecho de una asignación se evalúan primero.

                      
                        # Operador de asignación simple (=)
                        x = 10
                        print(x)   # Imprime: 10

                        # Operador += (suma y asignación)
                        x += 5     # equivalente a: x = x + 5
                        print(x)   # Imprime: 15

                        # Operador -= (resta y asignación)
                        x -= 3     # equivalente a: x = x - 3
                        print(x)   # Imprime: 12

                        # Operador *= (multiplicación y asignación)
                        x *= 2     # equivalente a: x = x * 2
                        print(x)   # Imprime: 24

                        # Operador /= (división flotante y asignación)
                        x /= 4     # equivalente a: x = x / 4
                        print(x)   # Imprime: 6.0

                        # Operador %= (módulo y asignación)
                        x %= 4     # equivalente a: x = x % 4
                        print(x)   # Imprime: 2.0

                        # Operador **= (potencia y asignación)
                        x **= 3    # equivalente a: x = x ** 3
                        print(x)   # Imprime: 8.0

                        # Operador //= (división entera / floor y asignación)
                        x //= 3    # equivalente a: x = x // 3
                        print(x)   # Imprime: 2.0 (porque 8.0 // 3 da 2.0)
                      
                    

Operadores de Identidad is, is not

Verifican si dos variables se refieren al mismo objeto.

                      
                        # Ejemplo muy simple de is / is not

                        a = [1, 2, 3]
                        b = a          # b apunta al mismo objeto que a
                        c = [1, 2, 3]  # c es una lista diferente, aunque con los mismos elementos

                        print(a is b)       # True, porque b y a son el mismo objeto
                        print(a is c)       # False, porque c aunque igual en contenido, es otro objeto distinto

                        print(a is not c)   # True, porque no son el mismo objeto
                        print(a is not b)   # False, porque sí son el mismo objeto
                      
                    

Operadores de Pertenencia in, not in

Comprueban si un elemento está presente en una secuencia.

                      
                        in: Comprueba si un valor está en una secuencia
                        3 in [1, 2, 3]  # Resultado: True
                        
                        not in: Comprueba si un valor no está en una secuencia
                        4 not in [1, 2, 3]  # Resultado: True
                      
                    

COMENTARIOS

Si tiene alguna inquietud, duda o ha encontrado algún error, por favor infórmelo a través del formulario disponible para este propósito.

Deje su comentario

La política de privacidad, y los términos y condiciones están disponibles en el formulario de contacto.

  • Operadores de Pertenencia