Nadie escribe todo desde cero. Un módulo es un archivo de Python con código reutilizable, y Python trae cientos incorporados (la stdlib). Además puedes instalar miles más con pip.
Importar módulos
Tres formas de importar:
import math
print(math.sqrt(16)) # 4.0 → con el prefijo del módulo
from math import sqrt, pi
print(sqrt(16)) # 4.0 → sin prefijo
print(pi) # 3.14159...
import math as m # alias (para módulos con nombres largos)
print(m.pi)
La convención: import math con prefijo deja claro de dónde viene cada función. from x import y para funciones que usas mucho.
Joyas de la stdlib
import random
print(random.randint(1, 6)) # entero aleatorio entre 1 y 6
print(random.choice(["a", "b", "c"])) # elige un elemento
import datetime
hoy = datetime.date.today()
print(hoy.year) # 2026
import json
texto = json.dumps({"nombre": "Ana"}) # dict → string JSON
datos = json.loads('{"edad": 25}') # string JSON → dict
Explorar la stdlib es medio camino del dominio de Python: math, random, datetime, json, os, re, collections...
pip: instalar paquetes de terceros
La stdlib no cubre todo. pip es el instalador de paquetes de la comunidad (PyPI):
pip install pandas # análisis de datos
pip install requests # peticiones HTTP
pip install pytest # testing
Después los importas igual que los de la stdlib: import pandas.
Entornos virtuales (venv)
Cada proyecto merece sus propias dependencias, sin mezclarlas con las globales:
python -m venv .venv # crea el entorno en la carpeta .venv
source .venv/bin/activate # actívalo (Linux/Mac)
# .venv\Scripts\activate # en Windows
pip install requests # se instala SOLO en este entorno
Cuando actives el entorno, python y pip apuntan a esa burbuja aislada. Es el hábito profesional desde el día uno.
Leer y escribir archivos
# escribir
with open("notas.txt", "w", encoding="utf-8") as archivo:
archivo.write("Primera línea\n")
archivo.write("Segunda línea\n")
# leer todo
with open("notas.txt", encoding="utf-8") as archivo:
contenido = archivo.read()
print(contenido)
# leer línea por línea
with open("notas.txt", encoding="utf-8") as archivo:
for linea in archivo:
print(linea.strip()) # strip() quita el \n del final
El with (context manager) cierra el archivo automáticamente al salir del bloque, incluso si hay un error. Nunca abras archivos sin with.
Modos de apertura
| Modo | Significado |
|---|---|
"r" | leer (default) — falla si no existe |
"w" | escribir — borra el contenido previo |
"a" | agregar al final (append) |
"x" | crear — falla si ya existe |
Resumen
import modulo/from modulo import funcion— la stdlib es un tesoropip installtrae paquetes de la comunidad; usavenvpor proyectowith open(...) as f:para archivos — cierre garantizado"w"borra todo; usa"a"para agregarjson.dumps/loadsconvierte entre dicts y texto JSON