Aprende Python · lección gratuita

Lección 29 · Módulos y librería estándar

Resumen

Python incluye una enorme librería estándar: módulos listos para usar que evitan que reinventes la rueda. Un módulo es simplemente un archivo .py con funciones, constantes y clases que importas con la palabra clave import. Una vez importado, accedes a su contenido con la notación de punto, por ejemplo math.sqrt(9).

Conceptos

Un módulo agrupa código reutilizable. La librería estándar de Python trae cientos de ellos ya instalados. Para usarlos basta importarlos. La forma más común es import math, que carga todo el módulo; luego accedes a sus funciones con el prefijo del módulo y un punto. Esto mantiene el código claro porque sabes de dónde viene cada función.

import math

print(math.sqrt(16))   # 4.0  (raíz cuadrada)
print(math.pi)         # 3.141592653589793
print(math.floor(3.7)) # 3    (redondea hacia abajo)
print(math.ceil(3.2))  # 4    (redondea hacia arriba)

La forma from math import sqrt, pi trae nombres concretos al espacio actual, de modo que los usas sin el prefijo math.. Es cómodo pero, si importas muchos nombres, puedes perder claridad sobre su origen. El módulo random produce valores pseudoaleatorios. Como los necesitamos reproducibles para autocorregir, siempre llamaremos primero a random.seed(0): así la secuencia generada es idéntica en cada ejecución.

import random

random.seed(0)            # fija la semilla → resultados deterministas
print(random.randint(1, 6))   # entero entre 1 y 6 (incluidos)
print(random.choice(["a", "b", "c"]))  # elige un elemento de la lista

Ejemplos

import math

# 1) Raíz cuadrada y constante pi
print(math.sqrt(81))        # 9.0
print(round(math.pi, 2))    # 3.14

# 2) Redondeo hacia abajo y hacia arriba
print(math.floor(9.99))     # 9
print(math.ceil(9.01))      # 10

# 3) from ... import para usar sin prefijo
from math import sqrt
print(sqrt(144))            # 12.0

# 4) random con semilla fija → siempre lo mismo
import random
random.seed(0)
print(random.randint(1, 100))   # 50
💡 Fija siempre random.seed(0) antes de generar valores cuando necesites un resultado reproducible. Sin semilla, cada ejecución da números distintos y tus pruebas fallarán.

Cheatsheet

SintaxisQué hace
import mathImporta todo el módulo math
from math import sqrtImporta solo sqrt (úsalo sin prefijo)
import random as rImporta random con el alias r
math.sqrt(x)Raíz cuadrada de x (devuelve float)
math.piConstante 3.141592653589793
math.floor(x)Redondea hacia abajo (entero)
math.ceil(x)Redondea hacia arriba (entero)
random.seed(0)Fija la semilla (resultados deterministas)
random.randint(a, b)Entero aleatorio entre a y b inclusive
random.choice(lista)Elige un elemento al azar de la lista
random.random()Float aleatorio en [0.0, 1.0)

---

← Métodos especiales (dunder)Algoritmos clásicos →

Ver todas las lecciones de Aprende Python →