Python es un lenguaje de programación de código abierto, portátil, gratuito, personalizable, eficaz y moderno que ofrece una amplia gama de atractivas funcionalidades y permite a los desarrolladores de aplicaciones crear proyectos de software que sean totalmente compatibles con todos los principales sistemas operativos.
Opciones de línea de comando
Las opciones predeterminadas de la línea de comandos incluyen la optimización del bytecode generado, optimizar bytecode generado y eliminar doc-strings, uso de formas no UNIX de #! cmd omitiendo la primera línea de la fuente, protección de DoS (Denegación de servicio) ) ataques haciendo que los valores hash () de varios tipos sean impredecibles, utilizando sal pseudoaleatoria.
Además, el programa también le permitirá agregar varias opciones de división, como -Qnew, Qwarn, Qold y Qwarnall, emitir advertencias sobre el uso de pestañas incompatibles, ejecutar el programa en modo detallado, obtener advertencias sobre Python 3.x incompatibilidades, así como para depurar la salida del analizador e ignorar las variables de entorno PYTHON *.
Comenzar a usar Python
El lenguaje de programación Python a menudo se compara con los lenguajes de programación / scripting Java, Perl, Scheme o Tcl. Es compatible con todas las distribuciones de GNU / Linux, así como también con Microsoft Windows, Mac OS X, Solaris, BSD y muchos otros sistemas operativos tipo UNIX. Actualmente, es compatible con las arquitecturas de 32 bits (x86) y de 64 bits (x86_64).
Instalar Python en su sistema es tareas bastante sencillas, ya que todo lo que tiene que hacer es acceder al administrador de paquetes predeterminado de su sistema GNU / Linux y buscar el & lsquo; python & rsquo; paquete. Instálalo y luego interactúa con él a través de un emulador de terminal Linux.
Los usuarios de Hardcore Linux / UNIX que deseen optimizar Python para su arquitectura de hardware pueden hacerlo descargando la última versión del proyecto desde Softoware, guardando el tarball de origen (archivo tar.xz) en su computadora, descomprimirlo, abrir un emulador de terminal y navegue a la ubicación de los archivos de archivo extraídos con el & lsquo; cd & rsquo; comando.
Use el & lsquo; ./ configure & rsquo; comando para hacer ciertas optimizaciones y luego ejecutar el & lsquo; make & rsquo; comando para compilar Python. Por último, instale todo el sistema Python ejecutando & lsquo; make install & rsquo; comando como root o con sudo.
Qué hay de nuevo en esta versión:
- Biblioteca:
- [Seguridad] bpo-30730: Impedir la inyección de variables de entorno en subproceso en Windows. Evite pasar otras variables de entorno y argumentos de comando.
- [Seguridad] bpo-30694: Actualice la copia expat de 2.2.0 a 2.2.1 para obtener soluciones de varias vulnerabilidades de seguridad, incluidas: CVE-2017-9233 (entidad externa de ciclo infinito DoS), CVE-2016-9063 (entero overflow, re-fix), CVE-2016-0718 (Corrige errores de regresión de la corrección de 2.2.0 a CVE-2016-0718) y CVE-2012-0876 (Inventario de inundación hash con SipHash). Nota: el CVE-2016-5300 (use fuentes de entropía específicas del os como getrandom) no afecta a Python, ya que Python ya obtiene entropía del sistema operativo para establecer el secreto de expat usando XML_SetHashSalt ().
- [Seguridad] bpo-30500: arregla urllib.parse.splithost () para analizar correctamente los fragmentos. Por ejemplo, splithost ('// 127.0.0.1#@evil.com/') ahora devuelve correctamente el host 127.0.0.1, en lugar de tratar a @ evil.com como el host en una autentificación (login @ host).
Qué hay de nuevo en la versión:
- Biblioteca:
- [Seguridad] bpo-30730: Impedir la inyección de variables de entorno en subproceso en Windows. Evite pasar otras variables de entorno y argumentos de comando.
- [Seguridad] bpo-30694: Actualice la copia expat de 2.2.0 a 2.2.1 para obtener soluciones de varias vulnerabilidades de seguridad, incluidas: CVE-2017-9233 (entidad externa de ciclo infinito DoS), CVE-2016-9063 (entero overflow, re-fix), CVE-2016-0718 (Corrige errores de regresión de la corrección de 2.2.0 a CVE-2016-0718) y CVE-2012-0876 (Inventario de inundación hash con SipHash). Nota: el CVE-2016-5300 (use fuentes de entropía específicas del os como getrandom) no afecta a Python, ya que Python ya obtiene entropía del sistema operativo para establecer el secreto de expat usando XML_SetHashSalt ().
- [Seguridad] bpo-30500: arregla urllib.parse.splithost () para analizar correctamente los fragmentos. Por ejemplo, splithost ('// 127.0.0.1#@evil.com/') ahora devuelve correctamente el host 127.0.0.1, en lugar de tratar a @ evil.com como el host en una autentificación (login @ host).
Qué hay de nuevo en la versión 3.6.1 / 3.6.2 RC1:
- PEP 441, compatibilidad mejorada con la aplicación zip de Python
- PEP 448, generalizaciones adicionales de desembalaje
- PEP 461, & quot;% - formateo & quot; para bytes y objetos bytearray
- PEP 465, un nuevo operador (@) para la multiplicación de matrices
- PEP 471, os.scandir (), una rápida nueva función de recorrido de directorio
- PEP 475, agregando soporte para reintentos automáticos de llamadas al sistema interrumpidas
- PEP 479, cambiar el manejo de StopIteration dentro de los generadores
- PEP 484, el módulo de tipado, un nuevo estándar para anotaciones de tipo
- PEP 485, math.isclose (), una función para probar la igualdad aproximada
- PEP 486, haciendo que el iniciador de Windows Python tenga conocimiento de los entornos virtuales
- PEP 488, eliminando archivos .pyo
- PEP 489, un mecanismo nuevo y mejorado para cargar módulos de extensión
- PEP 492, corutinas con asincrónica y aguardan la sintaxis
Qué hay de nuevo en la versión 3.6.1:
- PEP 441, compatibilidad mejorada con la aplicación zip de Python
- PEP 448, generalizaciones adicionales de desembalaje
- PEP 461, & quot;% - formateo & quot; para bytes y objetos bytearray
- PEP 465, un nuevo operador (@) para la multiplicación de matrices
- PEP 471, os.scandir (), una rápida nueva función de recorrido de directorio
- PEP 475, agregando soporte para reintentos automáticos de llamadas al sistema interrumpidas
- PEP 479, cambiar el manejo de StopIteration dentro de los generadores
- PEP 484, el módulo de tipado, un nuevo estándar para anotaciones de tipo
- PEP 485, math.isclose (), una función para probar la igualdad aproximada
- PEP 486, haciendo que el iniciador de Windows Python tenga conocimiento de los entornos virtuales
- PEP 488, eliminando archivos .pyo
- PEP 489, un mecanismo nuevo y mejorado para cargar módulos de extensión
- PEP 492, corutinas con asincrónica y aguardan la sintaxis
Qué hay de nuevo en la versión 3.6.0:
- PEP 441, compatibilidad mejorada con la aplicación zip de Python
- PEP 448, generalizaciones adicionales de desembalaje
- PEP 461, & quot;% - formateo & quot; para bytes y objetos bytearray
- PEP 465, un nuevo operador (@) para la multiplicación de matrices
- PEP 471, os.scandir (), una rápida nueva función de recorrido de directorio
- PEP 475, agregando soporte para reintentos automáticos de llamadas al sistema interrumpidas
- PEP 479, cambiar el manejo de StopIteration dentro de los generadores
- PEP 484, el módulo de tipado, un nuevo estándar para anotaciones de tipo
- PEP 485, math.isclose (), una función para probar la igualdad aproximada
- PEP 486, haciendo que el iniciador de Windows Python tenga conocimiento de los entornos virtuales
- PEP 488, eliminando archivos .pyo
- PEP 489, un mecanismo nuevo y mejorado para cargar módulos de extensión
- PEP 492, corutinas con asincrónica y aguardan la sintaxis
Qué hay de nuevo en la versión 3.5.2:
- PEP 441, compatibilidad mejorada con la aplicación zip de Python
- PEP 448, generalizaciones adicionales de desembalaje
- PEP 461, & quot;% - formateo & quot; para bytes y objetos bytearray
- PEP 465, un nuevo operador (@) para la multiplicación de matrices
- PEP 471, os.scandir (), una rápida nueva función de recorrido de directorio
- PEP 475, agregando soporte para reintentos automáticos de llamadas al sistema interrumpidas
- PEP 479, cambiar el manejo de StopIteration dentro de los generadores
- PEP 484, el módulo de tipado, un nuevo estándar para anotaciones de tipo
- PEP 485, math.isclose (), una función para probar la igualdad aproximada
- PEP 486, haciendo que el iniciador de Windows Python tenga conocimiento de los entornos virtuales
- PEP 488, eliminando archivos .pyo
- PEP 489, un mecanismo nuevo y mejorado para cargar módulos de extensión
- PEP 492, corutinas con asincrónica y aguardan la sintaxis
Qué hay de nuevo en la versión 3.5.1:
- PEP 441, compatibilidad mejorada con la aplicación zip de Python
- PEP 448, generalizaciones adicionales de desembalaje
- PEP 461, & quot;% - formateo & quot; para bytes y objetos bytearray
- PEP 465, un nuevo operador (@) para la multiplicación de matrices
- PEP 471, os.scandir (), una rápida nueva función de recorrido de directorio
- PEP 475, agregando soporte para reintentos automáticos de llamadas al sistema interrumpidas
- PEP 479, cambiar el manejo de StopIteration dentro de los generadores
- PEP 484, el módulo de tipado, un nuevo estándar para anotaciones de tipo
- PEP 485, math.isclose (), una función para probar la igualdad aproximada
- PEP 486, haciendo que el iniciador de Windows Python tenga conocimiento de los entornos virtuales
- PEP 488, eliminando archivos .pyo
- PEP 489, un mecanismo nuevo y mejorado para cargar módulos de extensión
- PEP 492, corutinas con asincrónica y aguardan la sintaxis
Qué hay de nuevo en la versión 3.5.0:
- Python 3.5.0 es la versión más nueva del El lenguaje Python, y contiene muchas funciones y optimizaciones nuevas y emocionantes.
Qué hay de nuevo en la versión 3.4.3:
- Esta versión viene con más de trescientas correcciones de errores y otras mejoras sobre 3.4.0. Un cambio notable: la versión de OpenSSL incluida con el instalador de Windows ya no tiene la vulnerabilidad HeartBleed.
Qué hay de nuevo en la versión 3.4.2:
- Esta versión viene con más de 300 correcciones de errores y otras mejoras sobre 3.4.0. Un cambio notable: la versión de OpenSSL incluida con el instalador de Windows ya no tiene la vulnerabilidad HeartBleed.
Qué hay de nuevo en la versión 3.4.0 RC1:
- PEP 380, sintaxis para delegar a un subgenerador (rendimiento de)
- PEP 393, representación flexible de cadenas (eliminando la distinción entre & quot; ancho & quot; & & quot; estrecho & quot; construcciones Unicode)
- Una implementación en C del & quot; decimal & quot; módulo, con hasta 120x de aceleración para aplicaciones con carga decimal
- El sistema de importación (__import__) se basa en importlib de forma predeterminada
- El nuevo & quot; lzma & quot; módulo con soporte LZMA / XZ
- PEP 397, un lanzador de Python para Windows
- PEP 405, soporte de entorno virtual en el núcleo
- PEP 420, soporte de paquete de espacio de nombres
- PEP 3151, reelaboración de la jerarquía de excepciones de OS e IO
- PEP 3155, nombre calificado para clases y funciones
- PEP 409, supresión del contexto de excepción
- PEP 414, literales Unicode explícitos para ayudar con la transferencia
- PEP 418, relojes ampliados independientes de la plataforma en el & quot; tiempo & quot; módulo
- PEP 412, una nueva implementación del diccionario de intercambio de claves que ahorra significativamente memoria para código orientado a objetos
- PEP 362, el objeto de firma de función
- El nuevo & quot; controlador de fallas & quot; módulo que ayuda a diagnosticar fallas
- El nuevo & quot; unittest.mock & quot; módulo
- El nuevo & quot; direccionip & quot; módulo
- El & quot; sys.implementation & quot; atributo
- Un marco de políticas para el paquete de correo electrónico, con una política provisional (ver PEP 411) que agrega soporte unicode muy mejorado para el análisis del encabezado del correo electrónico
- A & quot; collections.ChainMap & quot; clase para vincular asignaciones a una sola unidad
- Contenedores para muchas más funciones POSIX en el & quot; os & quot; y & quot; señal & quot; módulos, así como otras funciones útiles como & quot; sendfile () & quot;
- La aleatorización hash, que se introdujo en versiones anteriores de corrección de errores, ahora está activada de forma predeterminada
Qué hay de nuevo en la versión 3.4.0 Beta 2:
- PEP 428, un pathlib & quot; módulo que proporciona rutas del sistema de archivos orientadas a objetos
- PEP 435, una enumeración & quot; enum estándar & quot; módulo
- PEP 436, una mejora de compilación que ayudará a generar información de introspección para construcciones internas
- PEP 442, semántica mejorada para la finalización de objetos
- PEP 443, que agrega funciones genéricas de envío único a la biblioteca estándar
- PEP 445, una nueva API de C para implementar asignadores de memoria personalizados
- PEP 446, cambiando los descriptores de archivos para que no se hereden de forma predeterminada en los subprocesos
- PEP 450, una nueva & quot; estadística & quot; módulo
- PEP 451, metadatos del módulo de estandarización para el sistema de importación de módulos de Python
- PEP 453, un instalador incluido para el administrador del paquete pip
- PEP 454, un nuevo & quot; tracemalloc & quot; módulo para rastrear las asignaciones de memoria de Python
- PEP 456, un nuevo algoritmo hash para cadenas de Python y datos binarios
- PEP 3154, un protocolo nuevo y mejorado para objetos en escabeche
- PEP 3156, un nuevo & quot; asyncio & quot; módulo, un nuevo marco para E / S asíncrona
Qué hay de nuevo en la versión 3.4.0 Beta 1:
- PEP 428, un pathlib & quot; módulo que proporciona rutas del sistema de archivos orientadas a objetos
- PEP 435, una enumeración & quot; enum estándar & quot; módulo
- PEP 436, una mejora de compilación que ayudará a generar información de introspección para construcciones internas
- PEP 442, semántica mejorada para la finalización de objetos
- PEP 443, que agrega funciones genéricas de envío único a la biblioteca estándar
- PEP 445, una nueva API de C para implementar asignadores de memoria personalizados
- PEP 446, cambiando los descriptores de archivos para que no se hereden de forma predeterminada en los subprocesos
- PEP 450, una nueva & quot; estadística & quot; módulo
- PEP 451, metadatos del módulo de estandarización para el sistema de importación de módulos de Python
- PEP 453, un instalador incluido para el administrador del paquete pip
- PEP 454, un nuevo & quot; tracemalloc & quot; módulo para rastrear las asignaciones de memoria de Python
- PEP 456, un nuevo algoritmo hash para cadenas de Python y datos binarios
- PEP 3154, un protocolo nuevo y mejorado para objetos en escabeche
- PEP 3156, un nuevo & quot; asyncio & quot; módulo, un nuevo marco para E / S asíncrona
Qué hay de nuevo en la versión 3.4.0 Alpha 4:
- PEP 435, enum & quot; módulo
- PEP 436, una mejora de compilación que ayudará a generar información de introspección para construcciones internas
- PEP 442, semántica mejorada para la finalización de objetos
- PEP 443, que agrega funciones genéricas de envío único a la biblioteca estándar
- PEP 445, una nueva API de C para implementar asignadores de memoria personalizados
- PEP 446, cambiando los descriptores de archivos para que no se hereden de forma predeterminada en los subprocesos
- PEP 450, las nuevas & quot; estadísticas & quot; módulo
- PEP 3156, el nuevo & quot; asyncio & quot; módulo, un nuevo marco para E / S asíncrona
Qué hay de nuevo en la versión 2.7.6:
- Un tipo de diccionario ordenado
- Nuevas funciones de prueba unitarias que incluyen omisión de prueba, nuevos métodos de confirmación y descubrimiento de prueba
- Un módulo io mucho más rápido
- Numeración automática de campos en el método str.format ()
- Mejoras de repr. flotantes desde 3.x
- Soporte de mosaico para Tkinter
- Un respaldo del objeto memoryview de 3.x
- Establecer literales
- Conjunto y comprensión de diccionarios
- Vistas del diccionario
- Nueva sintaxis para anidado con instrucciones
- El módulo sysconfig
Qué hay de nuevo en la versión 3.2.5:
- numerosas mejoras en el módulo unittest
- PEP 3147, soporte para directorios de repositorio .pyc
- PEP 3149, soporte para bibliotecas dinámicas etiquetadas de versión
- PEP 3148, una nueva biblioteca de futuros para programación concurrente
- PEP 384, un ABI estable para módulos de extensión
- PEP 391, configuración de registro basada en diccionario
- una implementación de GIL reacondicionada que reduce la contención
- un paquete de correo electrónico extendido que maneja los mensajes de bytes
- un módulo ssl muy mejorado con soporte para contextos SSL y coincidencia de nombres de host de certificados
- un módulo sysconfig para acceder a la información de configuración
- adiciones al módulo shutil, entre ellas la compatibilidad con archivos de archivo
- muchas mejoras en el configparser, entre ellas la compatibilidad con el protocolo de mapeo
- mejoras en pdb, el depurador de Python
- innumerables correcciones con respecto a los bytes / cadena de problemas; entre ellos soporte completo para un entorno de bytes (nombres de archivo, variables de entorno)
- muchas correcciones de consistencia y comportamiento para operaciones numéricas
Qué hay de nuevo en la versión 3.3.2:
- PEP 380, sintaxis para delegar a un subgenerador (rendimiento de)
- PEP 393, representación flexible de cadenas (eliminando la distinción entre & quot; ancho & quot; & & quot; estrecho & quot; construcciones Unicode)
- Una implementación en C del & quot; decimal & quot; módulo, con hasta 120x de aceleración para aplicaciones con carga decimal
- El sistema de importación (__import__) se basa en importlib de forma predeterminada
- El nuevo & quot; lzma & quot; módulo con soporte LZMA / XZ
- PEP 397, un lanzador de Python para Windows
- PEP 405, soporte de entorno virtual en el núcleo
- PEP 420, soporte de paquete de espacio de nombres
- PEP 3151, reelaboración de la jerarquía de excepciones de OS e IO
- PEP 3155, nombre calificado para clases y funciones
- PEP 409, supresión del contexto de excepción
- PEP 414, literales Unicode explícitos para ayudar con la transferencia
- PEP 418, relojes ampliados independientes de la plataforma en el & quot; tiempo & quot; módulo
- PEP 412, una nueva implementación del diccionario de intercambio de claves que ahorra significativamente memoria para código orientado a objetos
- PEP 362, el objeto de firma de función
- El nuevo & quot; controlador de fallas & quot; módulo que ayuda a diagnosticar fallas
- El nuevo & quot; unittest.mock & quot; módulo
- El nuevo & quot; direccionip & quot; módulo
- El & quot; sys.implementation & quot; atributo
- Un marco de políticas para el paquete de correo electrónico, con una política provisional (ver PEP 411) que agrega soporte unicode muy mejorado para el análisis del encabezado del correo electrónico
- A & quot; collections.ChainMap & quot; clase para vincular asignaciones a una sola unidad
- Contenedores para muchas más funciones POSIX en el & quot; os & quot; y & quot; señal & quot; módulos, así como otras funciones útiles como & quot; sendfile () & quot;
- La aleatorización hash, que se introdujo en versiones anteriores de corrección de errores, ahora está activada de forma predeterminada
Qué hay de nuevo en la versión 3.3.0:
- PEP 380, sintaxis para delegar a un subgenerador (rendimiento de)
- PEP 393, representación flexible de cadenas (eliminando la distinción entre & quot; ancho & quot; & & quot; estrecho & quot; construcciones Unicode)
- Una implementación en C del & quot; decimal & quot; módulo, con hasta 120x de aceleración para aplicaciones con carga decimal
- El sistema de importación (__import__) se basa en importlib de forma predeterminada
- El nuevo & quot; lzma & quot; módulo con soporte LZMA / XZ
- PEP 397, un lanzador de Python para Windows
- PEP 405, soporte de entorno virtual en el núcleo
- PEP 420, soporte de paquete de espacio de nombres
- PEP 3151, reelaboración de la jerarquía de excepciones de OS e IO
- PEP 3155, nombre calificado para clases y funciones
- PEP 409, supresión del contexto de excepción
- PEP 414, literales Unicode explícitos para ayudar con la transferencia
- PEP 418, relojes ampliados independientes de la plataforma en el & quot; tiempo & quot; módulo
- PEP 412, una nueva implementación del diccionario de intercambio de claves que ahorra significativamente memoria para código orientado a objetos
- PEP 362, el objeto de firma de función
- El nuevo & quot; controlador de fallas & quot; módulo que ayuda a diagnosticar fallas
- El nuevo & quot; unittest.mock & quot; módulo
- El nuevo & quot; direccionip & quot; módulo
- El & quot; sys.implementation & quot; atributo
- Un marco de políticas para el paquete de correo electrónico, con una política provisional (ver PEP 411) que agrega soporte unicode muy mejorado para el análisis del encabezado del correo electrónico
- A & quot; collections.ChainMap & quot; clase para vincular asignaciones a una sola unidad
- Contenedores para muchas más funciones POSIX en el & quot; os & quot; y & quot; señal & quot; módulos, así como otras funciones útiles como & quot; sendfile () & quot;
- La aleatorización hash, que se introdujo en versiones anteriores de corrección de errores, ahora está activada de forma predeterminada
Comentarios que no se encuentran