Python (lenguaje de programación)

Python es un lenguaje de programación de propósito general de alto nivel interpretado. La filosofía de diseño de Python enfatiza la legibilidad del código con su notable uso de sangría significativa. Sus construcciones de lenguaje, así como su enfoque orientado a objetos, tienen como objetivo ayudar a los programadores a escribir código claro y lógico para proyectos a pequeña y gran escala. Python se escribe dinámicamente y se recolecta basura. Admite múltiples paradigmas de programación, incluida la programación estructurada (en particular, procedimental), orientada a objetos y funcional. Python se describe a menudo como un lenguaje de "baterías incluidas" debido a su amplia biblioteca estándar. Guido van Rossum comenzó a trabajar en Python a fines de la década de 1980, como sucesor del lenguaje de programación ABC, y lo lanzó por primera vez en 1991 como Python 0.9.0 . Python 2.0 se lanzó en 2000 e introdujo nuevas características, como listas por comprensión y un sistema de recolección de basura que usa el conteo de referencias. Python 3.0 se lanzó en 2008 y fue una revisión importante del lenguaje que no es completamente compatible con versiones anteriores y gran parte del código de Python 2 no se ejecuta sin modificar en Python 3. Python 2 se suspendió con la versión 2.7.18 en 2020. uno de los lenguajes de programación más populares.

Historia

Python fue concebido a fines de la década de 1980 por Guido van Rossum en Centrum Wiskunde & Informatica (CWI) en los Países Bajos como un sucesor del lenguaje de programación ABC, que se inspiró en SETL, capaz de manejar excepciones e interactuar con el sistema operativo Amoeba. Su implementación comenzó en diciembre de 1989. Van Rossum asumió la responsabilidad exclusiva del proyecto, como desarrollador principal, hasta el 12 de julio de 2018, cuando anunció sus "vacaciones permanentes" de sus responsabilidades como el dictador benévolo de por vida de Python, un título que otorgó la comunidad de Python. sobre él para reflejar su compromiso a largo plazo como principal responsable de la toma de decisiones del proyecto. En enero de 2019, los desarrolladores centrales activos de Python eligieron un "Consejo Directivo" de 5 miembros para liderar el proyecto. A partir de 2021, los miembros actuales de este consejo son Barry Warsaw, Brett Cannon, Carol Willing, Thomas Wouters y Pablo Galindo Salgado. Python 2.0 se lanzó el 16 de octubre de 2000, con muchas características nuevas importantes, incluido un recolector de basura con detección de ciclos. y soporte para Unicode.Python 3.0 fue lanzado el 3 de diciembre de 2008. Fue una revisión importante del lenguaje que no es completamente compatible con versiones anteriores. Muchas de sus características principales se exportaron a las series de versiones Python 2.6.xy 2.7.x. Las versiones de Python 3 incluyen la utilidad 2to3, que automatiza (al menos parcialmente) la traducción del código de Python 2 a Python 3.La fecha de finalización de Python 2.7 se estableció inicialmente en 2015 y luego se pospuso hasta 2020 debido a la preocupación de que un Un gran cuerpo de código existente no se podría reenviar fácilmente a Python 3. No se lanzarán más parches de seguridad ni otras mejoras. Con el final de la vida útil de Python 2, solo se admiten Python 3.6.xy versiones posteriores. Python 3.9.2 y 3.8.8 se aceleraron ya que todas las versiones de Python (incluida la 2.7) tenían problemas de seguridad, lo que provocó una posible ejecución remota de código y un envenenamiento de la caché web.

Filosofía de diseño y características

Python es un lenguaje de programación de múltiples paradigmas. La programación orientada a objetos y la programación estructurada son totalmente compatibles, y muchas de sus características admiten la programación funcional y la programación orientada a aspectos (incluso mediante metaprogramación y metaobjetos (métodos mágicos)). Muchos otros paradigmas son compatibles a través de extensiones, incluido el diseño por contrato y la programación lógica. Python usa tipado dinámico y una combinación de recuento de referencias y un recolector de basura con detección de ciclos para la gestión de la memoria. También cuenta con resolución dinámica de nombres (enlace tardío), que enlaza los nombres de métodos y variables durante la ejecución del programa. El diseño de Python ofrece cierto soporte para la programación funcional en la tradición Lisp. Tiene funciones de filtro, mapa y reducción; enumerar comprensiones, diccionarios, conjuntos y expresiones generadoras. La biblioteca estándar tiene t