Python Iceberg: trampas y sorpresas del lenguaje que enganchan a programadores

Python Iceberg es un recopilatorio didactico de comportamientos del lenguaje Python que parecen evidentes a primera vista pero esconden resultados inesperados. La pagina reune, en formato de fichas breves, decenas de casos donde la sintaxis habitual produce errores sutiles o directamente fallos de s

CPython incorpora soporte oficial para la arquitectura RISC-V

La implementación de referencia de Python, CPython, ha alcanzado el nivel de soporte tier 3 para la arquitectura RISC-V, marcando un hito en la compatibilidad del lenguaje con estándares abiertos. Este avance permite ejecutar Python de forma estable en hardware basado en esta instrucción set archite

Riesgos de usar print en manejadores de señales Python

El uso de la función print dentro de un manejador de señales en Python puede provocar fallos críticos bajo condiciones extremas, a pesar de que el intérprete CPython diseña estos mecanismos para evitar las restricciones estrictas del lenguaje C. Aunque Python permite ejecutar código arbitrario al re

Complejidad temporal de operaciones en tipos integrados de Python

La documentación oficial de CPython detalla la complejidad computacional de las operaciones sobre sus tipos de datos nativos, utilizando la notación Big O para describir cómo crece el tiempo de ejecución según el tamaño de los inputs. Este análisis es crucial para desarrollar software eficiente y pr

str.lower() provoca una vulnerabilidad de seguridad en el IDNA 2003 de Python

El desarrollador residente de seguridad de la Python Software Foundation, Seth Larson, ha detallado una vulnerabilidad en CPython relacionada con el uso de str.lower() dentro de la implementación de StringPrep, el algoritmo definido en el RFC 3454 que forma parte de IDNA 2003 (RFC 3491). StringPrep

Dos casos de estudio sobre los efectos inesperados de NaN en Python y Lua

NaN, el valor especial que representa «no es un número», infringe una de las reglas más asumidas en programación: que todo objeto es igual a sí mismo. Esa peculiaridad, definida en el estándar IEEE-754, se cuela en el diseño de lenguajes que dan por buena esa misma regla y produce comportamientos di

Python 3.15 incorpora frozendict como tipo integrado inmutable

Python 3.15 introduce frozendict, un nuevo tipo integrado de diccionario inmutable implementado en C y disponible en versión beta para pruebas. El proyecto fue aceptado en febrero de 2026 por el Steering Council a través del PEP 814, redactado por Victor Stinner y Donghee Na. La propuesta surge tras

El Consejo Directivo de Python exige un PEP formal para el JIT de CPython

El Consejo Directivo de Python ha anunciado que el compilador experimental justo a tiempo (JIT) integrado en CPython debe formalizarse mediante un PEP de tipo Standards Track en un plazo de seis meses o, de lo contrario, su código será retirado de la rama principal. El órgano agradeció a los desarro

Byterun: Intérprete de Python en 500 líneas

Este artículo de Allison Kaptur, ingeniera de Dropbox, explora Byterun, un intérprete de Python escrito en Python. El objetivo principal es desmitificar el funcionamiento interno de un intérprete, demostrando que su estructura fundamental puede caber en un código relativamente corto (menos de 500 lí

Python 3.15: JIT acelera el rendimiento

El equipo de desarrollo de CPython ha anunciado avances significativos en el compilador JIT (Just-In-Time) para Python 3.15, logrando mejoras de rendimiento un año antes de lo previsto para macOS AArch64 y unos meses antes para x86_64 Linux. Las pruebas preliminares indican que el JIT es entre un 5-

Python en el navegador: Pyodide revoluciona la web

Un nuevo proyecto llamado Pyodide permite ejecutar Python y sus bibliotecas populares directamente en navegadores web y en entornos Node.js. Desarrollado inicialmente por Mozilla en 2018 como parte del proyecto Iodide (que ya no se mantiene), Pyodide utiliza WebAssembly para portar CPython, facilita

Python 3.15: Importaciones 'lazy' Resuelven Problemas de Rendimiento

Python está introduciendo una nueva característica, `lazy`, en su versión 3.15, que permite la carga diferida de módulos, resolviendo un problema de rendimiento que afectaba a empresas como Instagram y Hudson River Trading. Estas compañías, enfrentando tiempos de inicio lentos en sus herramientas de

Python: cuidado con la asignación encadenada

Este artículo explora un comportamiento sutil pero común en Python relacionado con la asignación encadenada (chained assignment), y cómo se manifiesta a nivel de bytecode. La asignación encadenada, como en `a = b = []`, puede llevar a errores inesperados porque Python crea *un solo* objeto de lista

GitHub - j178/prek: ⚡ Better `pre-commit`, re-engineered in Rust

GitHub ha lanzado 'prek', una reimaginación de la herramienta 'pre-commit' escrita en Rust. Prek se presenta como una alternativa más rápida, sin dependencias y compatible con la configuración existente de 'pre-commit'. Ofrece mejoras como soporte para monorepos, integración con uv para la gestión d