`venv` por dentro: qué ocurre realmente al crear un entorno virtual
Estructura interna de un entorno virtual, qué hace `activate` al modificar PATH, y por qué `.venv` es un directorio desechable que no debe versionarse.
Estructura interna de un entorno virtual, qué hace `activate` al modificar PATH, y por qué `.venv` es un directorio desechable que no debe versionarse.
Qué es un entorno virtual, cómo resuelve los conflictos de versiones entre proyectos y por qué debes crearlo antes de instalar cualquier paquete.
Qué son los imports circulares, por qué el intérprete falla con módulos parcialmente inicializados y tres técnicas concretas para resolverlos.
Cómo `__init__.py` define paquetes regulares, cuándo usar namespace packages sin él, y qué papel real juega `__all__` en la API pública.
Diferencias mecánicas entre `import paquete.modulo` y `from . import modulo`, cuándo cada uno falla y por qué PEP 8 favorece los absolutos.
Cómo la variable `__name__` controla qué código se ejecuta al importar vs. al correr directamente, y por qué este patrón hace los módulos testeables.
Cómo Python construye `sys.path`, el rol de los entornos virtuales y archivos `.pth`, y por qué modificarlo en producción es casi siempre un error de diseño.
Un módulo es un archivo .py que Python ejecuta una vez al importar; sys.modules lo cachea y importlib.reload() fuerza una re-ejecución.
Cómo Python captura variables en celdas, el bug clásico del closure en bucle, `nonlocal`, y cuándo preferir una clase.
Las funciones en Python son objetos que puedes pasar, retornar y almacenar. Entiende sus atributos internos y los patrones que esto habilita.