Operadores

Los operadores permiten calcular, comparar y combinar condiciones.

Aritméticos#

OperadorAcciónEjemplo
+ - *Suma, resta, multiplicación5 + 3 → 8
/División con decimales15 / 2 → 7.5
//División entera15 // 2 → 7
%Residuo15 % 2 → 1
**Potencia2 ** 3 → 8
print 10 + 5 * 2    # 20
print (10 + 5) * 2  # 30
print 10 / 3        # 3.3333...
print 10 // 3       # 3
print 10 % 3        # 1
print 2 ** 4        # 16
La suma de cadenas

No necesitas convertir cadenas a números, los operadores aritméticos lo harán por ti.

x = "5"
y = "5.5"
print x + 3     # 8
print x + 0     # 5
print y + x     # 10.5

Comparación#

Estos operadores comparan dos valores y devuelven true o false:

OperadorAcciónEjemploResultado
==Igual a5 == 5true
!=Distinto de5 != 3true
<Menor que3 < 5true
>Mayor que5 > 3true
<=Menor o igual5 <= 5true
>=Mayor o igual18 >= 18true

Úsalas en condiciones:

edad = 18
if edad >= 18
  print "Eres mayor de edad"

print "¿Es 5 igual a 10? " 5 == 10  # false
print "¿Es 12 un número par? " 12 % 2 == 0  # true

Lógicos#

Combinan condiciones o las invierten:

OperadorForma alternativaAcciónEjemploResultado
and&&¿Ambas condiciones son verdaderas?true and falsefalse
or||¿Al menos una es verdadera?true or falsetrue
not!Inviertelanot truefalse

Ejemplo práctico:

edad = 25
tiene_licencia = true
if edad >= 18 and tiene_licencia
  print "Puedes conducir"
Corto circuito logico

Los operadores and y or utilizan evaluación de corto circuito, lo que significa que no ejecutan la segunda condición si la primera ya determina el resultado.

# Si la primera condición es falsa, la segunda no se ejecuta
if false and input("Este input no se ejecutara") 
  print "Esto no se imprimirá"

# Si la primera condición es verdadera, la segunda no se ejecuta
if true or input("Este input no se ejecutara") 
  print "Esto se imprimirá"

¿Cómo funciona? and y or se convierten en saltos condicionales puros, es decir, son equivalentes a usar bloques condicionales.

Concatenación#

El operador . (con espacios alrededor) une valores como texto:

x = 4
y = 1.05
resultado = "El número es " . x . y
print resultado # "El número es 41.05"
Interpolación vs concatenación
  • La interpolación suele ser más legible y eficiente, revisa la sección de Cadenas.
  • Para literales multilinea, considera las Plantillas.

Lectura#

El operador <- pide un valor que el usuario debe ingresar manualmente.

nombre <- "Escribe tu nombre: "
edad <- "Escribe tu edad: "
print "Hola " nombre ", tienes " edad " años"

Asignación compuesta#

Modifica una variable en una sola línea:

OperadorAcciónEjemploEquivalente a
+=Suma a la variablecontador += 5contador = contador + 5
-=Resta a la variablecontador -= 3contador = contador - 3
*=Multiplica la variableprecio *= 2precio = precio * 2
/=Divide la variableprecio /= 2precio = precio / 2
++Suma 1contador++contador = contador + 1
--Resta 1contador--contador = contador - 1

Ejemplo:

contador = 0
contador += 5
contador++
print contador   # 6