Los operadores aritméticos en Python se utilizan para realizar operaciones matemáticas en variables y valores numéricos.
1. Operadores aritméticos en Python
A continuación se presentan los operadores aritméticos soportados por Python 3
Operador
Ejemplo
Significado
+ (unario)
+a
Unario Positivo
+ (binario)
a + b
Suma
- (unario)
-a
Unario Negativo
- (binario)
a - b
Resta
*
a * b
Multiplicación
/
a / b
División
%
a % b
Módulo
//
a // b
División de enteros (también denominado Floor Division)
**
a ** b
Exponencial
2. Operadores Unarios
Los operadores unarios se caracterizan porque se aplican sobre un único operando. En Python se soportan el operador Unario Positivo y Unario Negativo. Este tipo de operadores se aplican sobre tipos numéricos en Python.
num = 10
# Operador unario positivo
+num
10
# Operador unario negativo
-num
-10
# No se pueden restar strings
texto = "Hola mundo"
-texto
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[5], line 2
1 texto = "Hola mundo"
----> 2 -texto
TypeError: bad operand type for unary -: 'str'
3. Suma y Resta
Los operadores Suma y Resta son operadores binarios que pueden aplicarse sobre distintos tipos de datos.
texto1 = "Hola"
texto2 = "mundo"
texto1 + texto2
'Holamundo'
# Espacio entre strings
texto3 = texto1 + ' ' + texto2
texto3
'Hola mundo'
texto1 - texto2 # No se pueden restar strings
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[24], line 1
----> 1 texto1 - texto2
TypeError: unsupported operand type(s) for -: 'str' and 'str'
4. Multiplicación y División
Los operadores Multiplicación y División son operadores binarios que pueden aplicarse sobre distintos tipos de datos.
4.1. Tipos de datos numéricos
num1 = 10
num2 = 5
num1 * num2
50
num1 / num2 # El resultado de la división siempre es un float
2.0
int(num1 / num2)
2
4.2. Strings
text1 = "Hola"
text2 = "mundo"
text1 * text2 # No se pueden multiplicar strings entre sí
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[30], line 1
----> 1 text1 * text2
TypeError: can't multiply sequence by non-int of type 'str'
text1 * 3 # Solo se pueden multiplicar strings por un número entero
'HolaHolaHola'
text1 * 3.5 # No se pueden multiplicar strings por un float
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[32], line 1
----> 1 text1 * 3.5
TypeError: can't multiply sequence by non-int of type 'float'
text1 / text2 # No se pueden dividir strings
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[33], line 1
----> 1 text1 / text2
TypeError: unsupported operand type(s) for /: 'str' and 'str'
5. Módulo
El operador Módulo es un operador binario que devuelve el resto de una división entre tipos de datos numéricos.
num1 = 10
num2 = 7
num1 / num2
1.4285714285714286
num1 % num2 # resto de la división de 10 / 7
3
num3 = 10.5
num4 = 7.2
num3 % num4
3.3
6. Exponencial
El operador Exponencial es un operador binario que se aplica sobre tipos de datos numéricos.
num1 = 10
num1 ** 2
100
num1 ** 5
100000
text1 = "Hola" # No se pueden exponenciar strings
text1 ** 2
---------------------------------------------------------------------------
TypeError Traceback (most recent call last)
Cell In[42], line 2
1 text1 = "Hola"
----> 2 text1 ** 2
TypeError: unsupported operand type(s) for ** or pow(): 'str' and 'int'
7. Floor Division
El operador Floor Division es un operador binario que se aplica sobre tipos de datos numéricos y devuelve la parte entera del resultado.
num1 = 10
num2 = 7
num1 / num2
1.4285714285714286
num1 // num2 # No hace redondeo, solamente se queda con el número entero
1
num3 = 13
num4 = 7
num3 / num4
1.8571428571428572
num3 // num4
1