Python es uno de los lenguajes de programación más populares del momento. Debido a su versatilidad, es utilizado por personas ajenas al desarrollo de sitios web y aplicaciones, esto ha sido motivo principal de su popularidad.
Las personas dentro de diferentes campos usan Python para múltiples tareas, como análisis y visualización de datos, creación de inteligencia artificial y automatización de diferentes máquinas, quizás este último es su uso más popular.
Otros usos que se le dan a Python, entre personas que no son desarrolladores, son: automatizar las acciones de copiar y pegar archivos y carpetas, subirlos a un servidor. Incluso con Python, puede automatizar sus tareas en archivos de Excel, PDF y CSV.
Ahora, este versátil lenguaje de programación está estrenando su nueva versión, 3.10, y en este blog hablaremos un poco sobre ella.
En su página web oficial, detallaron las nuevas características y funciones que vienen con esta actualización, entre ellas destacan:
Ahora se admite el uso de paréntesis para la continuación en varias líneas en los administradores de contexto. Esto permite formatear una colección larga de administradores de contexto en varias líneas de manera similar a como era posible anteriormente con las declaraciones de importación. Por ejemplo, todos estos ejemplos ahora son válidos:
with (CtxManager() as example): ... with ( CtxManager1(), CtxManager2() ): ... with (CtxManager1() as example, CtxManager2()): ... with (CtxManager1(), CtxManager2() as example): ... with ( CtxManager1() as example1, CtxManager2() as example2 ): ...
También es posible usar una coma final al final del grupo adjunto:
with ( CtxManager1() as example1, CtxManager2() as example2, CtxManager3() as example3, ): ...
Una de las mejoras, y que ha sido celebrada por los expertos de este lenguaje, fue que ahora cuando se analiza código que contenga paréntesis o corchetes sin cerrar, incluye la ubicación en lugar de mostrar SyntaxError:EOF inesperado al apuntar una ubicación incorrecta. Por ejemplo:
expected = {9: 1, 18: 2, 19: 2, 27: 3, 28: 3, 29: 3, 36: 4, 37: 4, 38: 4, 39: 4, 45: 5, 46: 5, 47: 5, 48: 5, 49: 5, 54: 6, some_other_code = foo()
En Python 3.10, se emite un mejor informe del error
File "example.py", line 1 expected = {9: 1, 18: 2, 19: 2, 27: 3, 28: 3, 29: 3, 36: 4, 37: 4, ^ SyntaxError: '{' was never closed
Ahora, con Python 3.10, las excepciones de IndentationError son más detalladas con respecto a qué tipo de bloque esperaba una sangría:
>>> def foo(): ... if lel: ... x = 2 File "<stdin>", line 3 x = 2 ^ IndentationError: expected an indented block after 'if' statement in line 2
En la página oficial de Python, explican “al imprimir AttributeError, PyErr_Display() ofrecerá sugerencias de nombres de atributos similares en el objeto desde el que se generó la excepción”. Ofrecen este ejemplo:
>>> collections.namedtoplo
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
AttributeError: module 'collections' has no attribute 'namedtoplo'. Did you mean: namedtuple?
Con esta actualización, PyErr_Display() ahora ofrece sugerencias de nombres de variables similares en la función donde se presente un error de nombre:
>>> schwarzschild_black_hole = None >>> schwarschild_black_hole Traceback (most recent call last): File "<stdin>", line 1, in <module> NameError: name 'schwarschild_black_hole' is not defined. Did you mean: schwarzschild_black_hole?
Estas son las nuevas funciones más destacadas que vienen con la actualización Python 3.10. En la página oficial del popular lenguaje de programación detallan cada una de sus nuevas características, haciendo más fácil el desarrollo de páginas web y los procesos de automatización para los expertos en este lenguaje.