¿Qué significa `//` en Python? (Con ejemplos)

En Python, //
es el operador de división entera. Divide dos números y redondea el resultado hacia abajo al número entero más cercano.
Por ejemplo:
print(10 // 3) # Salida: 3
print(-10 // 3) # Salida: -4
Puntos clave
//
realiza la división entera, lo que significa que redondea hacia abajo el resultado.- Funciona con números enteros y números de punto flotante.
- Siempre redondea hacia el infinito negativo (
-∞
).
Entendiendo la división entera (//
)
El operador //
divide dos números pero en lugar de devolver un resultado de punto flotante, trunca (redondea hacia abajo) al entero más cercano.
Ejemplo:
print(7 // 2) # Salida: 3 (en lugar de 3.5)
print(-7 // 2) # Salida: -4 (redondea hacia -∞)
¿Cómo maneja //
los números de punto flotante?
Incluso si uno de los operandos es un float, el resultado permanece redondeado hacia abajo pero en formato float:
print(7.0 // 2) # Salida: 3.0
print(-7.5 // 2) # Salida: -4.0
Diferencia entre /
y //
Operador Descripción Ejemplo /
División normal (devuelve float) 5 / 2 = 2.5
//
División entera (redondea hacia abajo) 5 // 2 = 2
¿Cuándo usar //
?
- Cuando solo necesitas números enteros (por ejemplo, contar elementos).
- Evitando errores de precisión de punto flotante (por ejemplo, indexar arrays).
- Asegurando resultados enteros en bucles.
Ejemplo: Uso de //
para paginación:
items_per_page = 10
total_items = 95
pages = total_items // items_per_page
print(pages) # Salida: 9
Preguntas frecuentes
No, si uno de los operandos es un float, el resultado es un float.
Porque `//` redondea hacia el infinito negativo (`-∞`).
Sí, `a // b` es equivalente a `math.floor(a / b)`.
Conclusión
El operador //
en Python realiza la división entera, redondeando el resultado hacia abajo al número entero más cercano. Es útil cuando se trabaja con matemáticas de enteros, bucles y paginación.