12k
All articles

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

El operador de doble barra en Python realiza division entera hacia abajo. Esta guia cubre su comportamiento con flotantes, bucles y paginacion.

OpenReplay Team
OpenReplay Team
¿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

¿`//` siempre devuelve un entero?

No, si uno de los operandos es un float, el resultado es un float.

¿Por qué `-10 // 3` devuelve `-4` en lugar de `-3`?

Porque `//` redondea hacia el infinito negativo (`-∞`).

¿Es `//` lo mismo que `math.floor(a / b)`?

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.

Listen to your bugs 🧘, with OpenReplay

See how users use your app and resolve issues fast.
Loved by thousands of developers

We use cookies to improve your experience. By using our site, you accept cookies.