Los operadores son símbolos que le indican al intérprete que realice una operación específica, como aritmética, comparación, lógica, etc.
Estos son los diferentes tipos de operadores en Python:
- Operadores aritméticos
- Operadores relacionales
- Operadores Bit a Bit
- Operadores de asignación
- Operadores lógicos
- Operadores de pertenencia
- Operadores de identidad
Operadores Aritméticos
Un operador aritmético toma dos operandos como entrada, realiza un cálculo y devuelve el resultado.
Considera la expresión, “a = 2 + 3”. Aquí, 2
y 3
son los operandos y +
es el operador aritmético. El resultado de la operación se almacena en la variable a
.
Operador | Descripción | Uso |
---|---|---|
+ | Realiza Adición entre los operandos | 12 + 3 = 15 |
- | Realiza Substracción entre los operandos | 12 - 3 = 9 |
* | Realiza Multiplicación entre los operandos | 12 * 3 = 36 |
/ | Realiza División entre los operandos | 12 / 3 = 4 |
% | Realiza un módulo entre los operandos | 16 % 3 = 1 |
** | Realiza la potencia de los operandos | 12 ** 3 = 1728 |
// | Realiza la división con resultado de número entero | 18 // 5 = 3 |
Nota: Para obtener el resultado en tipo flotante, uno de los operandos también debe ser de tipo flotante.
Operadores Relacionales
Un operador relacional se emplea para comparar y establecer la relación entre ellos. Devuelve un valor booleano (true o false) basado en la condición.
Operador | Descripción | Uso |
---|---|---|
> | Devuelve True si el operador de la izquierda es mayor que el operador de la derecha | 12 > 3 devuelve True |
< | Devuelve True si el operador de la derecha es mayor que el operador de la izquierda | 12 < 3 devuelve False |
== | Devuelve True si ambos operandos son iguales | 12 == 3 devuelve False |
>= | Devuelve True si el operador de la izquierda es mayor o igual que el operador de la derecha | 12 >= 3 devuelve True |
<= | Devuelve True si el operador de la derecha es mayor o igual que el operador de la izquierda | 12 <= 3 devuelve False |
!= | Devuelve True si ambos operandos no son iguales | 12 != 3 devuelve True |
Operadores Bit a Bit
Un operador bit a bit realiza operaciones en los operandos bit a bit.
Consideremos a = 2 (en binario = 10) y b = 3 (en binario = 11) para los siguientes casos.
Operador | Descripción | Uso |
---|---|---|
& | Realiza bit a bit la operación AND en los operandos | a & b = 2 (Binario: 10 & 11 = 10) |
| | Realiza bit a bit la operación OR en los operandos | a | b = 3 (Binario: 10 | 11 = 11) |
^ | Realiza bit a bit la operación XOR en los operandos | a ^ b = 1 (Binario: 10 ^ 11 = 01) |
~ | Realiza bit a bit la operación NOT bit a bit. Invierte cada bit en el operando | ~a = -3 (Binario: ~(00000010) = (11111101)) |
>> | Realiza un desplazamiento a la derecha bit a bit. Desplaza los bits del operador de la izquierda a la derecha tantos bits como indica el operador de la derecha | a >> b = 0 (Binario: 00000010 >> 00000011 = 0) |
<< | Realiza un desplazamiento a la izquierda bit a bit. Desplaza los bits del operando de la izquierda a la izquierda tantos bits como especifique el operador de la derecha | a << b = 16 (Binario: 00000010 << 00000011 = 00001000) |
Operadores de Asignación
Se utiliza un operador de asignación para asignar valores a una variable. Esto generalmente se combina con otros operadores (como aritmética, bit a bit) donde la operación se realiza en los operandos y el resultado se asigna al operando izquierdo.
Considera los siguientes ejemplos,
a = 18. Aquí =
es un operador de asignación, y el resultado se almacena en la variable a.
a + = 10. Aquí +=
es un operador de asignación, y el resultado se almacena en la variable a. Es lo mismo que a = a + 10.
Operador | Descripción |
---|---|
= | a = 5. El valor 5 es asignado a la variable a |
+= | a += 5 es equivalente a a = a + 5 |
-= | a -= 5 es equivalente a a = a - 5 |
*= | a *= 3 es equivalente a a = a * 3 |
/= | a /= 3 es equivalente a a = a / 3 |
%= | a %= 3 es equivalente a a = a % 3 |
**= | a **= 3 es equivalente a a = a ** 3 |
//= | a //= 3 es equivalente a a = a // 3 |
&= | a &= 3 es equivalente a a = a & 3 |
|= | a |= 3 es equivalente a a = a | 3 |
^= | a ^= 3 es equivalente a a = a ^ 3 |
>>= | a >>= 3 es equivalente a a = a >> 3 |
<<= | a <<= 3 es equivalente a a = a << 3 |
Operadores Lógicos
Se utiliza un operador lógico para tomar una decisión basada en múltiples condiciones. Los operadores lógicos utilizados en Python son and
, or
y not
.
Operador | Descripción | Uso |
---|---|---|
and | Devuelve True si ambos operandos son True | a and b |
or | Devuelve True si alguno de los operandos es True | a or b |
not | Devuelve True si alguno de los operandos False | not a |
Operadores de Pertenencia
Un operador de pertenencia se emplea para identificar pertenencia en alguna secuencia (listas, strings, tuplas).
in
y not in
son operadores de pertenencia.
in
devuelve True si el valor especificado se encuentra en la secuencia. En caso contrario devuelve False.
not in
devuelve True si el valor especificado no se encuentra en la secuencia. En caso contrario devuelve False.
a = [1,2,3,4,5]
#Esta 3 en la lista a?
print 3 in a # Muestra True
#No está 12 en la lista a?
print 12 not in a # Muestra True
str = "Hello World"
#Contiene World el string str?
print "World" in str # Muestra True
#Contiene world el string str? (nota: distingue mayúsculas y minúsculas)
print "world" in str # Muestra False
print "code" not in str # Muestra True
Operadores de Identidad
Un operador de identidad se emplea para comprobar si dos variables emplean la misma ubicación en memoria.
is
y is not
son operadores de identidad.
is
devuelve True si los operandos se refieren al mismo objeto. En caso contrario devuelve False.
is not
devuelve True si los operandos no se refieren al mismo objeto. En caso contrario devuelve False.
Ten en cuenta que dos valores, cuando son iguales, no implica necesariamente que sean idénticos.
a = 3
b = 3
c = 4
print a is b # muestra True
print a is not b # muestra False
print a is not c # muestra True
x = 1
y = x
z = y
print z is 1 # muestra True
print z is x # muestra True
str1 = "FreeCodeCamp"
str2 = "FreeCodeCamp"
print str1 is str2 # muestra True
print "Code" is str2 # muestra False
a = [10,20,30]
b = [10,20,30]
print a is b # muestra False (ya que las listas son objetos mutables en Python)
Traducido del artículo Basic Operators in Python With Examples