Operadores en Python

Operadores en Python

Python posee operadores aritméticos, relacionales, lógicos, bit a bit, de asignación, pertenencia e identidad

Operadores aritméticos

Python suministra las operaciones básicas con los únicos añadidos de los operadores resto, cociente entero y exponenciación

Operadores aritméticos
Operador Operación Descripción
+ Suma Suma dos operandos
Resta

Resta al operando de la izquierda el valor del operando de la derecha

Utilizado sobre un único operando, le cambia el signo

* Multiplicación Multiplicación de dos operandos
/ División Divide el operando de la izquierda por el de la derecha (el resultado siempre es un float)
% Resto Obtiene el resto de dividir el operando de la izquierda por el de la derecha
// Cociente entero Obtiene el cociente entero de dividir el operando de la izquierda por el de la derecha
** Exponenciación El resultado es el operando de la izquierda elevado a la potencia del operando de la derecha

Nota En Python, usar el operador + aplicado a strings, concatena ambas strings en una sola

Operadores relacionales

Se emplean típicamente en las expresiones condicionales

Los operadores relacionales devuelven valores booleanos

Los operandos pueden ser tanto numéricos como strings

Operadores relacionales
Operador Operación Descripción
> Mayor que

True si el operando de la izquierda es estrictamente mayor que el de la derecha

False en caso contrario

< Menor que

True si el operando de la izquierda es estrictamente menor que el de la derecha

False en caso contrario

> = Mayor o igual que

True si el operando de la izquierda es mayor o igual que el de la derecha

False en caso contrario

< = Menor o igual que

True si el operando de la izquierda es menor o igual que el de la derecha

False en caso contrario

! = Distinto que

True si los operandos son distintos

False en caso contrario

= = Igual que

True si el operando de la izquierda es igual que el de la derecha

False en caso contrario

Los objetos de diferentes tipos, excepto los tipos numéricos, nunca se comparan igual

El operador == siempre está definido, pero para algunos tipos de objetos (por ejemplo, objetos de clase) es equivalente a is

Las instancias no idénticas de una clase normalmente se comparan como no iguales a menos que la clase defina el método __eq__()

Las instancias de una clase no se pueden ordenar con respecto a otras instancias de la misma clase u otros tipos de objeto, a menos que la clase defina los métodos __lt__() y __gt__()

Operadores lógicos

Los operandos lógicos está relacionados con los relacionales ya que normalmente los operandos que usan son resultado de expresiones relacionales

Los valores resultantes son booleanos

Operadores lógicos
Operador Descripción
AND True si ambos son True
OR True si uno de ellos es True
NOT Si era True pasa a False y viceversa

Operadores bit a bit

La forma de trabajar de estos operadores es convertir a binario los operandos y luego operar con ellos bit a bit

Operadores bit a bit
Operador Operación Descripción
& AND Cambia el bit a 1 si ambos eran 1
| OR Cambia el bit a 1 si uno de ellos era 1
^ XOR Cambia el bit a 1 si uno de ellos era 1, pero no ambos
~ NOT

Cambia el bit a 1 si era 0

Cambia el bit a 0 si era 1

<< Propagación a la izquierda Desplaza el valor hacia la izquierda introduciendo ceros, si se sale de rango se pierden valores
>> Propagación a la derecha Desplaza el valor hacia la derecha introduciendo por la izquierda el bit de signo y eliminando los valores que se salgan por la derecha

Nota Los operadores de propagación toman dos operandos: el primero es la variable a propagar y el segundo es el número de posiciones a propagar

Operadores de asignación

La asignación también es un operador que devuelve la variable modificada

El operador de asignación en Python es =

Los operadores de asignación que se muestran a continuación no son sino abreviaturas que hacen más cómoda y simples las expresiones, aunque a veces sean más ilegibles

Operadores de asignación
Operador Expresión Equivalencia
=

A = B = C

D = ‘Texto’

A = C

B = C

D = ‘Texto’

+ = A + = 4 A = A + 4
– = A – = 3 * B A = A – (3 * B)
* = A * = 2 A = A * 2
** = A ** = 2 A = A ** 2
/ = A / = 35 + B A = A / (35 + B)
% = A % = B A = A % B
// = A // = B A = A // B
>> = A >> = 1 A = A >> 1
<< = A << = B A = A << B
& = A & = (C + = 3) C = C +3
A = A & C
^ = A ^ = 2 A = A ^ 2
| = A | = C A = A | C

Operadores de pertenencia

Los operadores de pertenencia se utilizan para comprobar si un valor o variable se encuentran en una secuencia (list, tuple, dict, set o str)

Operadores de pertenencia
Operador Expresión Equivalencia
in Incluido

Devuelve True si el valor se encuentra en una secuencia

False en caso contrario

not in No incluido

Devuelve True si el valor no se encuentra en una secuencia

False en caso contrario

Operadores de identidad

Estos operadores se van a utilizar para comprobar si dos variables son, o no, el mismo objeto

Operadores de pertenencia
Operador Expresión Equivalencia
is Objetos iguales

Devuelve True si ambos operandos hacen referencia al mismo objeto

False en caso contrario

is not Objetos distintos

Devuelve True si ambos operandos no hacen referencia al mismo objeto

False en caso contrario

Preferencia

La preferencia de los operadores va a determinar el orden en que se ejecuten en una expresión determinada

Usando paréntesis controlaremos que las operaciones se lleven a cabo según nosotros queramos

En Python la preferencia de los operadores de mayor a menor es la siguiente:

Preferencia
Paréntesis ( )
Exponenciación **
Unarios ~ +
Mul / Div / Resto / Div ent * / % //
Suma / Resta +
Propagación << >>
Bit a bit &
Bit a bit ^ |
Relacionales < < = > > =
Igualdad = = !=
Asignación = + = – = * = * * = / = // = % = & = | = ^ = >> = << =
Identidad is is not
Pertenencia in not in