Conozca las interesantes funciones de Python 3.12 que facilitarán su vida como desarrollador.

Python planea lanzar la versión 3.12 del lenguaje en octubre de 2023. Esta versión trae una variedad de características y mejoras emocionantes. Su objetivo es mejorar su experiencia de codificación al ofrecer una plataforma más eficiente y poderosa, que le permita mejorar sus habilidades de codificación.

1. Mensajes de error mejorados

Python ha mejorado continuamente sus mensajes de error en versiones recientes. El La versión 3.11 introdujo mensajes de error más precisos indicando las posiciones exactas dentro de las líneas.

Python 3.12 lleva estas mejoras al siguiente nivel, con las siguientes adiciones:

  • Las sugerencias para los módulos que faltan ("¿olvidó importar X?") ahora incluyen módulos de la biblioteca estándar.
  • Sugerencias de error mejoradas para errores de sintaxis comunes relacionados con las importaciones. Por ejemplo, si tienes importar p de m en su código, aparecerá un mensaje de error que le preguntará si tenía la intención de escribir de m importar p.
  • instagram viewer
  • Los errores de importación para un módulo determinado ahora incluyen sugerencias del espacio de nombres del módulo importado.
  • Error de nombre las sugerencias ahora también incorporan ser agregado al nombre cuando se genera dentro de una instancia de clase. Por ejemplo, si el nombre velocidad no está definido, el mensaje de error propondrá auto.velocidad como posible corrección. Esto es particularmente útil ya que se omite ser por ejemplo, las variables son una fuente común de errores en las instancias de clase.

2. Compatibilidad con el perfilador de rendimiento de Linux

La herramienta de generación de perfiles de Linux ampliamente utilizada, rendimiento, ahora puede trabajar con programas de Python 3.12. En el pasado, solo se enfocaba en rastrear operaciones de nivel C dentro del tiempo de ejecución de Python.

Con Python 3.12, ahora también puede activar perf para recopilar detalles sobre los programas de Python. Puede activarlo a nivel de entorno o dentro de un programa de Python usando el sys.activate_stack_trampoline función.

3. Mejoras en sugerencias de tipo

Desde su introducción en Python 3.5, la sintaxis de sugerencia de tipo de Python ha permitido que las herramientas de linting detecten una amplia gama de errores por adelantado. Con cada versión posterior, el sistema de tipos de Python ha evolucionado para abarcar una gama más amplia de casos de uso, ofreciendo funciones de escritura mejoradas.

TypedDict

Python 3.12 introduce el uso de TypedDicts como fuente para insinuar argumentos de palabras clave en funciones. Esto utiliza el genérico variado Unpack, que se introdujo en la versión 3.11.

He aquí un ejemplo que ilustra esta función:

clasePelícula(DiccionarioEscrito):
nombre: calle
año: int

definitivamenteFoo(**kwargs: Desempaquetar[Película]) -> Ninguno: ...

En este caso, la función Foo puede recibir argumentos de palabras clave con nombres y tipos que se alineen con el contenido de Movie TypedDict: nombre de tipo calle y año de tipo En t.

Esta mejora resulta valiosa cuando se trata de funciones de sugerencia de tipo que aceptan argumentos opcionales de solo palabras clave sin valores predeterminados.

Tipo Parámetro Sintaxis

Python 3.12 introduce una sintaxis más concisa para especificar tipos en clases genéricas, funciones o alias de tipo.

Considera lo siguiente:

# el método antiguo
de mecanografía importar TipoVar
_T = TipoVar("_T")
definitivamentefunción(a: _T, b: _T) -> _T:
...
# el nuevo método de parámetro de tipo
definitivamentefunción[T](a: T, b: T) -> T:
...

Con la nueva sintaxis, no es necesario importar TypeVar explícitamente. En su lugar, puede utilizar el función[T] sintaxis para indicar referencias de tipo genérico. También es posible definir límites de tipo, como especificar que un tipo debe ser uno de un grupo de tipos. Sin embargo, estos tipos en sí mismos no pueden ser genéricos. Un ejemplo de esta sintaxis es función[T: (cadena, int)].

4. Recolección de basura

En Python 3.12, el mecanismo de recolección de basura (GC) ha cambiado. Anteriormente, el GC se ejecutaba cada vez que se asignaba un objeto.

Sin embargo, a partir de Python 3.12, el GC opera exclusivamente dentro del disyuntor de evaluación mecanismo en el ciclo de bytecode de Python. En otras palabras, se ejecuta entre la ejecución de un bytecode y el siguiente.

Además, el GC también se activa cuando se invoca el mecanismo de verificación del controlador de señales de CPython. Este ajuste permite la recolección periódica de elementos no utilizados durante llamadas de larga duración a extensiones C fuera del tiempo de ejecución.

Presentación de Python 3.12

Python 3.12 presenta una variedad de funciones y mejoras interesantes, que revolucionan la experiencia de codificación para usted. Con mensajes de error mejorados, capacidades de escritura mejoradas, soporte para Linux Perf Profiler y recolección de basura optimizada, Python 3.12 lo equipa con las herramientas para escribir código de alta calidad eficientemente. Adopte el poder de Python y eleve sus habilidades de codificación a nuevas alturas.