El lenguaje de programación Python fue concebido a fines de la década de 1980, [1] y su implementación fue iniciada en diciembre de 1989 [2] por Guido van Rossum en CWI en Holanda como sucesor de ABC capaz de manejar excepciones e interactuar con el sistema operativo Amoeba. . [3] Van Rossum es el autor principal de Python, y su continuo papel central en la decisión de la dirección de Python se refleja en el título que le dio la comunidad de Python, Benevolent Dictator for Life (BDFL) . [4] [5](Sin embargo, van Rossum dimitió como líder el 12 de julio de 2018. [6] ). Python lleva el nombre del programa de televisión de la BBC Monty Python's Flying Circus . [7]
Python 2.0 fue lanzado el 16 de octubre de 2000, con muchas características nuevas importantes, incluido un recolector de basura con detección de ciclos (además del recuento de referencias ) para la administración de memoria y soporte para Unicode . Sin embargo, el cambio más importante fue el proceso de desarrollo en sí, con un cambio a un proceso más transparente y respaldado por la comunidad. [8]
Python 3.0, una versión importante, incompatible con versiones anteriores, fue lanzada el 3 de diciembre de 2008 [9] después de un largo período de pruebas. Muchas de sus características principales también se han adaptado a Python 2.6 y 2.7, que son compatibles con versiones anteriores. [10]
Historia temprana
En febrero de 1991, Van Rossum publicó el código (etiquetado como versión 0.9.0) en alt.sources. [11] Ya presente en esta etapa de desarrollo fueron las clases con herencia , manejo de excepciones, las funciones y los tipos de datos básicos de list
, dict
, str
y así sucesivamente. También en esta versión inicial había un sistema de módulos tomado de Modula-3 ; Van Rossum describe el módulo como "una de las principales unidades de programación de Python". [1] El modelo de excepción de Python también se parece al de Modula-3, con la adición de una else
cláusula. [3] En 1994 se formó comp.lang.python , el principal foro de discusión de Python, marcando un hito en el crecimiento de la base de usuarios de Python. [1]
Versión 1
Python alcanzó la versión 1.0 en enero de 1994. Las nuevas características principales incluidas en este comunicado fueron las herramientas de programación funcional lambda
, map
, filter
y reduce
. Van Rossum declaró que "Python adquirió lambda, reduce (), filter () y map (), cortesía de un hacker Lisp que no los vio y envió parches de trabajo". [12]
La última versión lanzada mientras Van Rossum estaba en CWI fue Python 1.2. En 1995, Van Rossum continuó su trabajo sobre Python en la Corporation for National Research Initiatives (CNRI) en Reston , Virginia , desde donde lanzó varias versiones.
Para la versión 1.4, Python había adquirido varias características nuevas. Entre estos se destacan los argumentos de palabras clave inspirados en Modula-3 (que también son similares a los argumentos de palabras clave de Common Lisp ) y el soporte incorporado para números complejos . También se incluye una forma básica de ocultación de datos mediante la manipulación de nombres , aunque esto se pasa por alto fácilmente. [13]
Durante la estadía de Van Rossum en CNRI, lanzó la iniciativa Computer Programming for Everybody (CP4E), con la intención de hacer que la programación sea más accesible para más personas, con una "alfabetización" básica en lenguajes de programación, similar a las habilidades básicas de alfabetización en inglés y matemáticas requeridas por la mayoría de los empleadores. Python desempeñó un papel central en esto: debido a su enfoque en una sintaxis limpia, ya era adecuado, y los objetivos de CP4E tenían similitudes con su predecesor, ABC. El proyecto fue financiado por DARPA . [14] A partir de 2007[actualizar], el proyecto CP4E está inactivo, y aunque Python intenta ser fácil de aprender y no demasiado arcano en su sintaxis y semántica, enviar correos electrónicos a los no programadores no es una preocupación activa. [15]
Estar abierto
En 2000, el equipo de desarrollo central de Python se trasladó a BeOpen.com [16] para formar el equipo de BeOpen PythonLabs , bajo la dirección del primer alumno de Google, Domenic Merenda . [17] [18] CNRI solicitó que se lanzara una versión 1.6, resumiendo el desarrollo de Python hasta el momento en que el equipo de desarrollo dejó CNRI. En consecuencia, los cronogramas de lanzamiento para 1.6 y 2.0 tenían una cantidad significativa de superposición. [8] Python 2.0 fue el único lanzamiento de BeOpen.com. Después de que BeOpen.com lanzara Python 2.0, Guido van Rossum y los otros desarrolladores de PythonLabs se unieron a Digital Creations .
La versión Python 1.6 incluía una nueva licencia CNRI que era sustancialmente más larga que la licencia CWI que se había utilizado para versiones anteriores. La nueva licencia incluía una cláusula que establecía que la licencia se regía por las leyes del estado de Virginia . La Free Software Foundation argumentó que la cláusula de elección de la ley era incompatible con la Licencia Pública General GNU . BeOpen, CNRI y la FSF negociaron un cambio en la licencia de software libre de Python que lo haría compatible con la GPL. Python 1.6.1 es esencialmente lo mismo que Python 1.6, con algunas correcciones de errores menores y con la nueva licencia compatible con GPL. [19]
Versión 2
Python 2.0, lanzado en octubre de 2000, [8] introdujo listas por comprensión , una característica tomada de los lenguajes de programación funcional SETL y Haskell . La sintaxis de Python para esta construcción es muy similar a la de Haskell, además de la preferencia de Haskell por los caracteres de puntuación y la preferencia de Python por las palabras clave alfabéticas. Python 2.0 también introdujo un sistema de recolección de basura capaz de recolectar ciclos de referencia. [8]
Python 2.1 estaba cerca de Python 1.6.1, así como de Python 2.0. Su licencia pasó a llamarse Python Software Foundation License . Todo el código, la documentación y las especificaciones agregadas, desde el momento del lanzamiento alfa de Python 2.1 en adelante, es propiedad de Python Software Foundation (PSF), una organización sin fines de lucro formada en 2001, siguiendo el modelo de Apache Software Foundation . [19] El lanzamiento incluyó un cambio en la especificación del lenguaje para admitir ámbitos anidados, como otros lenguajes de ámbito estático . [20] (La función estaba desactivada de forma predeterminada y no era necesaria hasta Python 2.2).
Python 2.2 fue lanzado en diciembre de 2001; [21] una innovación importante fue la unificación de los tipos de Python (tipos escritos en C) y clases (tipos escritos en Python) en una jerarquía. Esta única unificación hizo que el modelo de objetos de Python estuviera pura y consistentemente orientado a objetos. [22] También se agregaron generadores inspirados en Icon . [23]
Python 2.5 fue lanzado en septiembre de 2006 [24] e introdujo la with
declaración, que incluye un bloque de código dentro de un administrador de contexto (por ejemplo, adquirir un bloqueo antes de que se ejecute el bloque de código y liberar el bloqueo después, o abrir un archivo y luego cerrándolo), permitiendo un comportamiento similar al de Resource Acquisition Is Initialization (RAII) y reemplazando un modismo común try / finalmente. [25]
Python 2.6 se lanzó para coincidir con Python 3.0 e incluyó algunas características de esa versión, así como un modo de "advertencias" que resaltaba el uso de características que se eliminaron en Python 3.0. [26] [10] De manera similar, Python 2.7 coincidió e incluyó características de Python 3.1, [27] que fue lanzado el 26 de junio de 2009. Las versiones paralelas 2.xy 3.x luego cesaron, y Python 2.7 fue la última versión. en la serie 2.x. [28] En noviembre de 2014, se anunció que Python 2.7 sería compatible hasta 2020, pero se animó a los usuarios a pasar a Python 3 lo antes posible. [29] El soporte de Python 2.7 finalizó el 1 de enero de 2020, junto con la congelación del código de la rama de desarrollo 2.7. Una versión final, 2.7.18, se produjo el 20 de abril de 2020 e incluyó correcciones para errores críticos y bloqueadores de versiones. [30] Esto marca el final de la vida útil de Python 2. [31]
Versión 3
Python 3.0 (también llamado "Python 3000" o "Py3K") fue lanzado el 3 de diciembre de 2008. [9] Fue diseñado para rectificar fallas de diseño fundamentales en el lenguaje; los cambios requeridos no se pudieron implementar manteniendo la compatibilidad total con versiones anteriores la serie 2.x, que necesitaba un nuevo número de versión principal. El principio rector de Python 3 era: "reducir la duplicación de funciones eliminando las viejas formas de hacer las cosas".
Python 3.0 se desarrolló con la misma filosofía que en versiones anteriores. Sin embargo, como Python había acumulado formas nuevas y redundantes de programar la misma tarea, Python 3.0 tenía un énfasis en eliminar construcciones y módulos duplicados, de acuerdo con "Debería haber una, y preferiblemente solo una, forma obvia de hacerlo".
No obstante, Python 3.0 siguió siendo un lenguaje de paradigmas múltiples . Los codificadores aún podían seguir paradigmas de programación funcional , estructurada y orientada a objetos, entre otros, pero dentro de opciones tan amplias, se pretendía que los detalles fueran más obvios en Python 3.0 que en Python 2.x.
Compatibilidad
Python 3.0 rompió la compatibilidad con versiones anteriores , y gran parte del código de Python 2 no se ejecuta sin modificar en Python 3. La escritura dinámica de Python combinada con los planes para cambiar la semántica de ciertos métodos de diccionarios, por ejemplo, hizo una traducción mecánica perfecta de Python 2.xa Python 3.0 muy difícil. Una herramienta llamada "2to3" hace las partes de la traducción que se pueden hacer automáticamente. En este punto, 2to3 pareció tener bastante éxito, aunque una revisión inicial señaló que había aspectos de la traducción que una herramienta de este tipo nunca podría manejar. [32] Antes del lanzamiento de Python 3, se recomendaba que los proyectos que requerían compatibilidad con las series 2.xy 3.x tuvieran una fuente (para la serie 2.x) y produjeran versiones para Python 3. x plataforma usando 2to3. Se desaconsejaron las ediciones en el código de Python 3.x mientras el código fuera necesario para ejecutarse en Python 2.x. [10] Esto ya no se recomienda; A partir de 2012, el enfoque preferido fue crear una base de código única que se pueda ejecutar tanto en Python 2 como en 3 utilizando módulos de compatibilidad. [33]
Características
Algunos de los principales cambios incluidos para Python 3.0 fueron:
- Cambiar
print
para que sea una función incorporada, no una declaración. Esto facilitó el cambio de un módulo para usar una función de impresión diferente, además de hacer que la sintaxis fuera más regular. En Python 2.6 y 2.7print()
está disponible como incorporado, pero está enmascarado por la sintaxis de la declaración de impresión, que se puede desactivar ingresandofrom __future__ import print_function
en la parte superior del archivo [34] - Eliminación de la
input
función Python 2 y cambio de nombre de laraw_input
función ainput
. Lainput
función de Python 3 se comporta como la función de Python 2raw_input
, ya que la entrada siempre se devuelve como una cadena en lugar de evaluarse como una expresión. - Moverse
reduce
(pero nomap
ofilter
) fuera del espacio de nombres incorporado y dentrofunctools
(la razón es que el código que usareduce
es menos legible que el código que usa un bucle for y una variable acumuladora) [35] [36] - Adición de compatibilidad con anotaciones de funciones opcionales que se pueden utilizar para declaraciones de tipo informales u otros fines [37]
- Unificando los tipos
str
/unicode
, representando texto e introduciendo unbytes
tipo inmutable separado ; y unbytearray
tipo mutable en su mayoría correspondiente , los cuales representan matrices de bytes [38] - Eliminación de características de compatibilidad con versiones anteriores, incluidas clases de estilo antiguo, excepciones de cadenas e importaciones relativas implícitas
- Un cambio en la funcionalidad de división de enteros : en Python 2,
5 / 2
es2
; en Python 3,5 / 2
es2.5
. (Tanto en Python 2 (2.2 en adelante) como en Python 3, existe un operador separado para proporcionar el comportamiento anterior:5 // 2
es2
)
Las versiones posteriores de la serie Python 3.x han incluido nuevas características adicionales sustanciales; todo el desarrollo continuo del lenguaje se realiza en la serie 3.x.
Tabla de versiones
Lanzamientos anteriores a las versiones numeradas:
- Inicio de la aplicación: diciembre de 1989 [2]
- Lanzamientos internos en Centrum Wiskunde & Informatica - 1990 [2]
Versión | Última micro versión | Fecha de lanzamiento | Fin del soporte completo | Fin de las correcciones de seguridad | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0,9 | 0.9.9 [2] | 1991-02-20 [2] | 1993-07-29 [a] [2] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.0 | 1.0.4 [2] | 1994-01-26 [2] | 1994-02-15 [a] [2] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.1 | 1.1.1 [2] | 1994-10-11 [2] | 1994-11-10 [a] [2] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.2 | 1995-04-13 [2] | No admitido | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.3 | 1995-10-13 [2] | No admitido | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1.4 | 1996-10-25 [2] | No admitido | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1,5 | 1.5.2 [39] | 1998-01-03 [2] | 13 de abril de 1999 [a] [2] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
1,6 | 1.6.1 [39] | 2000-09-05 [40] | 2000-09 [a] [39] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.0 | 2.0.1 [41] | 2000-10-16 [42] | 2001-06-22 [a] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.1 | 2.1.3 [41] | 2001-04-15 [43] | 2002-04-09 [a] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.2 | 2.2.3 [41] | 2001-12-21 [44] | 2003-05-30 [a] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.3 | 2.3.7 [41] | 2003-06-29 [45] | 2008-03-11 [a] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.4 | 2.4.6 [41] | 30-11-2004 [46] | 2008-12-19 [a] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.5 | 2.5.6 [41] | 2006-09-19 [47] | 2011-05-26 [a] [41] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2.6 | 2.6.9 [26] | 2008-10-01 [26] | 2010-08-24 [b] [26] | 2013-10-29 [26] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
2,7 | 2.7.18 [31] | 2010-07-03 [31] | 2020-01-01 [c] [31] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3,0 | 3.0.1 [41] | 2008-12-03 [26] | 27-06-2009 [48] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.1 | 3.1.5 [49] | 27-06-2009 [49] | 2011-06-12 [50] | 2012-06 [49] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.2 | 3.2.6 [51] | 2011-02-20 [51] | 2013-05-13 [b] [51] | 2016-02-20 [51] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.3 | 3.3.7 [52] | 2012-09-29 [52] | 2014-03-08 [b] [52] | 2017-09-29 [52] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.4 | 3.4.10 [53] | 16/03/2014 [53] | 2017-08-09 [54] | 2019-03-18 [a] [53] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3,5 | 3.5.10 [55] | 2015-09-13 [55] | 2017-08-08 [56] | 2020-09-30 [55] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.6 | 3.6.13 [57] | 2016-12-23 [57] | 2018-12-24 [b] [57] | 2021-12 [57] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3,7 | 3.7.10 [58] | 2018-06-27 [58] | 2020-06-27 [b] [58] | 2023-06 [58] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.8 | 3.8.10 [59] | 2019-10-14 [59] | 2021-05-03 [59] | 2024-10 [59] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.9 | 3.9.5 [60] | 2020-10-05 [60] | 2022-05 [61] | 2025-10 [60] [61] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
3.10 | 04/10/2021 [62] | 2023-05 [62] | 2026-10 [62] | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Leyenda: Versión antigua Versión anterior, aún mantenida Ultima versión Última versión de vista previa Lanzamiento futuro | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
La cursiva es la última versión micro de las versiones admitidas actualmente a partir del 2021-05-11. |
Notas de la tabla:
- ^ a b c d e f g h i j k l Fecha del último micro lanzamiento.
- ^ a b c d e Fecha del último lanzamiento que no es solo de seguridad.
- ^ El soporte oficial finalizó el 2020-01-01, pero una versión final del código tal como apareció el 2020-01-01 se lanzó el 2020-04-20 como versión 2.7.18. [31]
Apoyo
Ver también
- Historia de la ingeniería de software
Referencias
- ^ a b c "La creación de Python" . Desarrollador Artima . Consultado el 22 de marzo de 2007 .
- ^ a b c d e f g h i j k l m n o p q van Rossum, Guido (20 de enero de 2009). "Una breve cronología de Python" . Consultado el 29 de noviembre de 2019 .
- ^ a b "¿Por qué se creó Python en primer lugar?" . Preguntas frecuentes de Python . Consultado el 22 de marzo de 2007 .
- ^ van Rossum, Guido (31 de julio de 2008). "Origen de BDFL" . Consultado el 1 de agosto de 2008 .
- ^ "Secuencias de comandos de Python Creator dentro de Google" . www.eweek.com . Consultado el 13 de mayo de 2008 .
- ^ Fairchild, Carlie (12 de julio de 2018). "Guido van Rossum dimitiendo de su papel como dictador benévolo de Python de por vida" . Diario de Linux . Consultado el 12 de julio de 2018 .
- ^ "Preguntas frecuentes generales sobre Python - Documentación de Python 3.8.3" . docs.python.org .
- ^ a b c d Kuchling, Andrew M .; Zadka, Moshe. "Novedades de Python 2.0" . Archivado desde el original el 14 de diciembre de 2009 . Consultado el 22 de marzo de 2007 .
- ^ a b "Bienvenido a Python.org" . python.org . Consultado el 27 de diciembre de 2016 .
- ^ a b c van Rossum, Guido (5 de abril de 2006). "PEP 3000 - Python 3000" . Consultado el 27 de diciembre de 2016 .
- ^ "HISTORIA" . Distribución de fuentes de Python . Fundación Python . Consultado el 23 de noviembre de 2017 .
- ^ van Rossum, Guido. "El destino de reduce () en Python 3000" . Desarrollador Artima . Consultado el 22 de marzo de 2007 .
- ^ "LJ # 37: Actualización de Python 1.4" . Archivado desde el original el 1 de mayo de 2007 . Consultado el 29 de abril de 2007 .
- ^ van Rossum, Guido. "Programación informática para todos" . Consultado el 22 de marzo de 2007 .
- ^ "Programación informática para todos" . Fundación de software Python. Archivado desde el original el 29 de marzo de 2007 . Consultado el 22 de marzo de 2007 .
- ^ https://slashdot.org/story/00/05/30/1931239/python-development-team-moves-to-beopencom
- ^ https://web.archive.org/web/20000815095541/http://www.beopen.com/company/team.html
- ^ http://joeellsworth.com/resume/references/pybiz_beopen_partnership.pdf
- ^ a b "Historia del software" . Referencia de la biblioteca de Python . Archivado desde el original el 29 de marzo de 2007 . Consultado el 22 de marzo de 2007 .
- ^ Hylton, Jeremy (1 de noviembre de 2000). "PEP 227 - Ámbitos anidados estáticamente" . Consultado el 22 de marzo de 2007 .
- ^ < https://www.python.org/download/releases/2.2/
- ^ Kuchling, Andrew M. (21 de diciembre de 2001). "PEPs 252 y 253: Cambios de tipo y clase" . Novedades de Python 2.2 . Fundación Python. Archivado desde el original el 17 de septiembre de 2008 . Consultado el 5 de septiembre de 2008 .
- ^ Schemenauer, Neil; Peters, Tim; Hetland, Magnus (21 de diciembre de 2001). "PEP 255 - Generadores simples" . Consultado el 5 de septiembre de 2008 .
- ^ "Lanzamiento de Python 2.5" . Python.org .
- ^ "Aspectos destacados: Python 2.5" . Python.org .
- ^ a b c d e f Norwitz, Neal; Varsovia, Barry (29 de junio de 2006). "PEP 361 - Programa de lanzamiento de Python 2.6 y 3.0" . Consultado el 29 de noviembre de 2019 .
- ^ Kuchling, Andrew M. (3 de julio de 2010). "Novedades de Python 2.7" . Consultado el 7 de octubre de 2012 .
Así como Python 2.6 incorporó características de Python 3.0, la versión 2.7 incorpora algunas de las nuevas características de Python 3.1. La serie 2.x continúa proporcionando herramientas para migrar a la serie 3.x.
- ^ Varsovia, Barry (9 de noviembre de 2011). "PEP 404 - Programa de liberación de Python 2.8" . Consultado el 7 de octubre de 2012 .
- ^ Vaya, Sue (14 de abril de 2014). "Python 2.7 se mantendrá hasta 2020" . i-programmer.info . Consultado el 27 de diciembre de 2016 .
- ^ "Confirma · python / cpython en 2.7" .
- ^ a b c d e Peterson, Benjamin (3 de noviembre de 2008). "PEP 373 - Programa de lanzamiento de Python 2.7" . Consultado el 20 de abril de 2020 .
- ^ Ruby, Sam; 2to3 , 1 de septiembre de 2007
- ^ Coghlan, Nick; Python 3 Q & A , 29 de junio de 2012
- ^ Brandl, Georg (19 de noviembre de 2007). "PEP 3105 - Hacer de la impresión una función" . Consultado el 27 de diciembre de 2016 .
- ^ van Rossum, Guido. "Preguntas frecuentes de Python 3000" . artima.com . Consultado el 27 de diciembre de 2016 .
- ^ "El destino de reduce () en Python 3000" . www.artima.com . Consultado el 31 de diciembre de 2019 .
- ^ Invierno, Collin; Lownds, Tony (2 de diciembre de 2006). "PEP 3107 - Anotaciones de funciones" . Consultado el 27 de diciembre de 2016 .
- ^ van Rossum, Guido (26 de septiembre de 2007). "PEP 3137 - Bytes inmutables y búfer mutable" .
- ^ a b c "Lanzamientos | Python.org" . Consultado el 29 de noviembre de 2019 .
- ^ Drake, Fred L., Jr. (25 de julio de 2000). "PEP 160 - Programa de lanzamiento de Python 1.6" . Consultado el 29 de noviembre de 2019 .
- ^ a b c d e f g h yo j k l m "Descarga Python | Python.org" . Consultado el 29 de noviembre de 2019 .
- ^ Hylton, Jeremy. "PEP 200 - Programa de lanzamiento de Python 2.0" . Consultado el 29 de noviembre de 2019 .
- ^ Hylton, Jeremy (16 de octubre de 2000). "PEP 226 - Programa de lanzamiento de Python 2.1" . Consultado el 29 de noviembre de 2019 .
- ^ Varsovia, Barry; van Rossum, Guido (17 de abril de 2001). "PEP 251 - Programa de lanzamiento de Python 2.2" . Consultado el 29 de noviembre de 2019 .
- ^ van Rossum, Guido (27 de febrero de 2002). "PEP 283 - Programa de lanzamiento de Python 2.3" . Consultado el 29 de noviembre de 2019 .
- ^ Varsovia, Barry; Hettinger, Raymond; Baxter, Anthony (29 de julio de 2003). "PEP 320 - Programa de lanzamiento de Python 2.4" . Consultado el 29 de noviembre de 2019 .
- ^ Norwitz, Neal; van Rossum, Guido; Baxter, Anthony (7 de febrero de 2006). "PEP 356 - Programa de lanzamiento de Python 2.5" . Consultado el 29 de noviembre de 2019 .
- ^ "17. Ciclo de desarrollo - Guía del desarrollador de Python" . Consultado el 29 de noviembre de 2019 .
- ^ a b c Peterson, Benjamin (8 de febrero de 2009). "PEP 375 - Programa de lanzamiento de Python 3.1" . Consultado el 29 de noviembre de 2019 .
- ^ Peterson, Benjamin (12 de junio de 2011). "[LIBERADO] Python 3.1.4" . python -nounce (lista de correo) . Consultado el 29 de noviembre de 2019 .
- ^ a b c d Brandl, Georg (30 de diciembre de 2009). "PEP 392 - Programa de lanzamiento de Python 3.2" . Consultado el 29 de noviembre de 2019 .
- ^ a b c d Brandl, Georg (23 de marzo de 2011). "PEP 398 - Programa de lanzamiento de Python 3.3" . Consultado el 29 de noviembre de 2019 .
- ^ a b c Hastings, Larry (17 de octubre de 2012). "PEP 429 - Programa de lanzamiento de Python 3.4" . Consultado el 29 de noviembre de 2019 .
- ^ Hastings, Larry (9 de agosto de 2017). "[LIBERADO] Python 3.4.7 ya está disponible" . python -nounce (lista de correo) . Consultado el 29 de noviembre de 2019 .
- ^ a b c Hastings, Larry (22 de septiembre de 2014). "PEP 478 - Programa de lanzamiento de Python 3.5" . Consultado el 17 de marzo de 2020 .
- ^ Hastings, Larry (8 de agosto de 2017). "[LIBERADO] Python 3.5.4 ya está disponible" . python -nounce (lista de correo) . Consultado el 29 de noviembre de 2019 .
- ^ a b c d Deily, Ned (30 de mayo de 2015). "PEP 494 - Programa de lanzamiento de Python 3.6" . Consultado el 20 de abril de 2020 .
- ^ a b c d Deily, Ned (23 de diciembre de 2016). "PEP 537 - Programa de lanzamiento de Python 3.7" . Consultado el 20 de abril de 2020 .
- ^ a b c d Langa, Łukasz (27 de enero de 2018). "PEP 569 - Programa de lanzamiento de Python 3.8" . Consultado el 20 de abril de 2020 .
- ^ a b c Langa, Łukasz (13 de octubre de 2020). "PEP 596 - Programa de lanzamiento de Python 3.9" . Consultado el 13 de octubre de 2020 .
- ^ a b Langa, Łukasz (4 de junio de 2019). "PEP 602 - Ciclo de lanzamiento anual para Python" . Consultado el 29 de noviembre de 2019 .
- ^ a b c Pablo, Pablo (25 de mayo de 2020). "PEP 619 - Programa de lanzamiento de Python 3.10" . Consultado el 25 de mayo de 2020 .
enlaces externos
- Blog de Guido Van Rossum sobre la historia de Python