Operadores básicos en Python: Aritméticos, comparación, lógicos y más
Los operadores son constructos que manipulan el valor de los operandos.
En la expresión 4 + 5 = 9, 4 y 5 son operandos y + es el operador.
Tipos de operadores
Python soporta los siguientes tipos de operadores:
- Operadores aritméticos
- Operadores de comparación (relacionales)
- Operadores de asignación
- Operadores lógicos
- Operadores bit a bit
- Operadores de pertenencia
- Operadores de identidad
Veamos cada uno en detalle.
Operadores aritméticos en Python
Asumiendo que la variable a contiene 10 y b contiene 20:
| Operador | Descripción | Ejemplo |
|---|---|---|
| + Adición | Suma valores a ambos lados del operador. | a + b = 30 |
| - Sustracción | Resta operando derecho del izquierdo. | a - b = -10 |
| * Multiplicación | Multiplica valores a ambos lados. | a * b = 200 |
| / División | Divide operando izquierdo por derecho. | b / a = 2 |
| % Módulo | Divide izquierdo por derecho y devuelve el resto. | b % a = 0 |
| ** Exponente | Cálculo exponencial (potencia). | a**b = 10^20 |
| // División entera | División donde el resultado es el cociente sin dígitos decimales. Si un operando es negativo, redondea hacia menos infinito. | 9//2 = 4, 9.0//2.0 = 4.0, -11//3 = -4 |
Operadores de comparación en Python
Comparan valores a ambos lados y deciden la relación. También llamados operadores relacionales.
Asumiendo a = 10 y b = 20:
| Operador | Descripción | Ejemplo |
|---|---|---|
| == | Si los valores son iguales, la condición es verdadera. | (a == b) es falso. |
| != | Si los valores no son iguales, la condición es verdadera. | (a != b) es verdadero. |
| <> | Si los valores no son iguales, la condición es verdadera. Similar a !=. | (a <> b) es verdadero. |
| > | Si el operando izquierdo es mayor que el derecho, la condición es verdadera. | (a > b) es falso. |
| < | Si el operando izquierdo es menor que el derecho, la condición es verdadera. | (a < b) es verdadero. |
| >= | Si el izquierdo es mayor o igual al derecho, la condición es verdadera. | (a >= b) es falso. |
| <= | Si el izquierdo es menor o igual al derecho, la condición es verdadera. | (a <= b) es verdadero. |
Operadores de asignación en Python
Asumiendo a = 10 y b = 20:
| Operador | Descripción | Ejemplo |
|---|---|---|
| = | Asigna valores del operando derecho al izquierdo. | c = a + b asigna a + b en c |
| += Suma y asigna | Suma operando derecho al izquierdo y asigna resultado al izquierdo. | c += a equivale a c = c + a |
| -= Resta y asigna | Resta operando derecho del izquierdo y asigna resultado al izquierdo. | c -= a equivale a c = c - a |
| *= Multiplica y asigna | Multiplica operando derecho con izquierdo y asigna resultado al izquierdo. | c *= a equivale a c = c * a |
| /= Divide y asigna | Divide operando izquierdo por derecho y asigna resultado al izquierdo. | c /= a equivale a c = c / a |
| %= Módulo y asigna | Toma módulo con dos operandos y asigna resultado al izquierdo. | c %= a equivale a c = c % a |
| **= Exponente y asigna | Cálculo exponencial y asigna valor al operando izquierdo. | c **= a equivale a c = c ** a |
| //= División entera y asigna | Realiza división entera y asigna valor al operando izquierdo. | c //= a equivale a c = c // a |
Operadores bit a bit en Python
Operadores bit a bit trabajan en bits y realizan operaciones bit por bit. Asumiendo a = 60 y b = 13; en binario: 0011 1100 y 0000 1101.
a = 0011 1100
b = 0000 1101
-----------------
a&b = 0000 1100
a|b = 0011 1101
a^b = 0011 0001
~a = 1100 0011
| Operador | Descripción | Ejemplo |
|---|---|---|
| & AND binario | Copia bit al resultado si existe en ambos operandos. | (a & b) = 12 (0000 1100) |
| | OR binario | Copia bit si existe en cualquiera de los operandos. | (a | b) = 61 (0011 1101) |
| ^ XOR binario | Copia bit si está en un operando pero no en ambos. | (a ^ b) = 49 (0011 0001) |
| ~ Complemento a uno | Unario, efecto de 'voltear' bits. | (~a) = -61 (1100 0011 en complemento a 2) |
| << Desplazamiento izquierdo | Valor izquierdo movido izquierda por bits del derecho. | a << 2 = 240 (1111 0000) |
| >> Desplazamiento derecho | Valor izquierdo movido derecha por bits del derecho. | a >> 2 = 15 (0000 1111) |
Operadores lógicos en Python
Operadores lógicos soportados. Asumiendo a = 10 y b = 20:
| Operador | Descripción | Ejemplo |
|---|---|---|
| and AND lógico | Si ambos operandos son verdaderos, la condición es verdadera. | (a and b) es verdadero. |
| or OR lógico | Si cualquiera de los dos operandos es no-cero, la condición es verdadera. | (a or b) es verdadero. |
| not NOT lógico | Invierte el estado lógico de su operando. | not(a and b) es falso. |
Operadores de pertenencia en Python
Prueban pertenencia en una secuencia (cadenas, listas, tuplas). Dos operadores:
| Operador | Descripción | Ejemplo |
|---|---|---|
| in | Verdadero si encuentra variable en la secuencia especificada. | x in y, da 1 si x es miembro de y. |
| not in | Verdadero si NO encuentra variable en la secuencia. | x not in y, da 1 si x no es miembro de y. |
Operadores de identidad en Python
Comparan ubicaciones de memoria de dos objetos. Dos operadores:
| Operador | Descripción | Ejemplo |
|---|---|---|
| is | Verdadero si variables a ambos lados apuntan al mismo objeto. | x is y, da 1 si id(x) == id(y). |
| is not | Falso si variables apuntan al mismo objeto, verdadero en caso contrario. | x is not y, da 1 si id(x) != id(y). |
Precedencia de operadores en Python
Tabla de precedencia de mayor a menor:
| Nº | Operador y descripción |
|---|---|
| 1 | ** - Exponenciación |
| 2 | ~ + - - Complemento, más y menos unarios |
| 3 | * / % // - Multiplicar, dividir, módulo, división entera |
| 4 | + - - Adición y sustracción |
| 5 | >> << - Desplazamiento bit a bit derecho e izquierdo |
| 6 | & - AND bit a bit |
| 7 | ^ | - XOR y OR bit a bit |
| 8 | <= < > >= - Operadores de comparación |
| 9 | <> == != - Operadores de igualdad |
| 10 | = %= /= //= -= += *= **= - Operadores de asignación |
| 11 | is is not - Operadores de identidad |
| 12 | in not in - Operadores de pertenencia |
| 13 | not or and - Operadores lógicos |
python
- Dominando tipos de datos en Python: Guía práctica
- Dominando operadores en Python: Guía completa
- Dominando la sentencia pass en Python: Guía práctica
- Dominando argumentos de funciones en Python: Posicionales, por palabra clave y por defecto
- Dominando Diccionarios en Python: Creación, Manipulación y Técnicas Avanzadas
- Dominando Iteradores en Python: Cómo Funcionan y Cómo Crear los Tuyos
- Explicación de Closures en Python: Cómo las Funciones Anidadas Capturan Variables
- Dominando datetime en Python: Guía Práctica de Fechas, Horas y Zonas Horarias
- Visión general de Python: Lenguaje de alto nivel, legible, interactivo y orientado a objetos
- Dominando los fundamentos de Python: Sintaxis y conceptos básicos
- Esenciales de Java: Guía Completa de Operadores Principales