Python 3.9: ¿Qué hay de nuevo ahora? Características interesantes para pagar
Publicado: 2020-12-01Python es uno de los lenguajes favoritos y preferidos de todos los tiempos entre los desarrolladores. Según el índice The Tiobe, que es una comunidad de programación que clasifica los lenguajes de programación según su popularidad, Python ocupa el segundo lugar superando a Java. Python cuenta con un excelente apoyo de la comunidad y, debido a su simplicidad y naturaleza fácil de usar, todo principiante aspira a dominar al menos este lenguaje.
Si bien este lenguaje ha captado muchas miradas en los últimos años al encontrar su uso en el campo del análisis de datos, el aprendizaje automático, el desarrollo web, las aplicaciones informáticas, IOT u otras áreas de desarrollo, se lanzó su última versión Python 3.9 estable y trae un muchos cambios del analizador a funcionalidades adicionales para cambiar en la línea de tiempo de lanzamientos de funciones. Veamos estos cambios en detalle:
Tabla de contenido
Nuevo Operador
Al tratar con diccionarios, es muy frecuente que necesitemos fusionarlos o actualizarlos con entradas de otros diccionarios. Anteriormente, esto se podía hacer usando el atributo de actualización del objeto de diccionario: first_dict.update(second_dict), pero el problema con este enfoque es que los cambios se realizan en el lugar y se modifican los valores originales.
Para que sea un cambio temporal, se requiere otra variable para almacenar el valor anterior. Esta nueva versión ha introducido un nuevo operador conocido como operador de combinación (|) que se puede utilizar para combinar diccionarios. Aquí hay un ejemplo de código para entender esto:
A = { "nombre": "Autor", "compañía": "upGrad"}
B = { "estado": "instructor"}
imprimir (A|B)
Salida: { "nombre": "Autor", "compañía": "upGrad", "estado": "instructor"}
| es como un operador de concatenación, pero si desea actualizar el valor original, simplemente puede usar el operador |=. Continuando con el ejemplo anterior, A |=B actualizará el valor del diccionario A.
Lea también: Salario de desarrollador de Python en India
Operaciones con cadenas
La manipulación de texto forma una parte importante del ciclo de vida de la ciencia de datos, especialmente durante la PNL. Hay diferentes funciones para realizar diferentes tipos de operaciones de cadenas, como dividir, concatenar, reemplazar y muchas más. Uniéndose a este legado, se han agregado dos nuevas operaciones que son removesuffix() y removeprefix().
Como sugiere el nombre, se utilizan para eliminar prefijos y sufijos de una cadena. Se puede acceder a ellos mediante el objeto de cadena. Esta eliminación podría realizarse fácilmente usando expresiones regulares y rebanando las cadenas, pero ahora tenemos esta funcionalidad en bibliotecas integradas. Aquí hay un ejemplo simple con fines ilustrativos:
'@algo_nuevo'.removeprefix('@')
'algo_231'.removesufix('231')
Producción:
algo nuevo
algo_
Módulo de zona horaria modificado
Esta versión también ha introducido un nuevo módulo denominado información de zona que admite la base de datos de IANA en la biblioteca estándar. Podemos especificar la zona horaria en el objeto DateTime de la biblioteca estándar, pero el usuario puede terminar creando reglas complejas para las zonas horarias. Según PEP 615, la base de usuarios se inclina más hacia las principales zonas horarias, como UTC, IANA o la zona horaria local del sistema. Ahora puede crear un objeto de información de zona especificando la ruta de búsqueda de configuración que tiene la forma "continente/ciudad". Por ejemplo,
de zoneinfo importar ZoneInfo
desde fechahora fechahora de importación
dt = datetime(2020, 11, 15, 01, tzinfo=ZoneInfo(“Asia/Calcuta”))
dt.tzname()
Salida: 'IST'
Más información sobre: las principales herramientas de Python
Nuevas funciones matemáticas
El módulo de matemáticas consta de todas las operaciones numéricas que se utilizan en las matemáticas generales. Ya se trate de funciones de seno, coseno, redondeo de números a lugares específicos o constantes universales como pi o exponencial, el módulo matemático cubre casi todos los tipos de funciones.

Se han agregado tres nuevas funciones a esta lista y hay math.lcm(), math.nextafter(), math.ulp(). Mientras que el MCM (Mínimo común múltiplo) es una función muy utilizada, las otras dos no se utilizan tanto. Anteriormente, teníamos que crear explícitamente una función para la operación de LCM, pero ahora, al comenzar esta nueva versión, tenemos una funcionalidad integrada en la biblioteca estándar. Para usar esta función simplemente llame a:
importar matematicas
matemáticas.lcm(2,3)
Salida: 6
Si no se pasan argumentos en esta función, devuelve 1 y si uno de ellos es cero, devuelve 0.
Analizador de alto rendimiento
Además de todas las nuevas incorporaciones en el nivel de funciones, el analizador del lenguaje Python también se actualiza a una tecnología nueva y más rápida conocida como analizador PEG. Este efecto no se reflejará en esta versión, sino en la próxima Python 3.10. Desde el día en que se creó Python, ha estado usando el analizador LL(1) que analiza el código de arriba a abajo y de izquierda a derecha. Este analizador se basa en una gramática independiente del contexto y, por lo tanto, es ambiguo, lo que significa que las cadenas pueden tener más de un árbol de análisis y aumenta el número de pasos intermedios. El nuevo analizador PEG genera solo un AST válido (Árboles de sintaxis abstracta) eliminando la ambigüedad del analizador anterior.
Nueva función aleatoria y cambio en el ciclo de lanzamiento
En el módulo random.random, se ha agregado el nuevo método randbytes(n) que devuelve n bytes aleatorios. Es muy similar a otras funciones aleatorias. También anteriormente, Python lanza una nueva versión cada 18 meses que se ha reducido a 12 meses.
Obtenga la certificación de ciencia de datos de las mejores universidades del mundo. Aprenda los programas Executive PG, los programas de certificación avanzada o los programas de maestría para acelerar su carrera.
Conclusión
Cada vez que se lanza una nueva versión del software, acompaña muchos cambios nuevos. Aquí hemos discutido algunos de los cambios principales y destacados en Python que incluyen un nuevo operador, funciones adicionales y un analizador mejorado.
También hay muchos cambios nuevos en otros módulos, como ast, asyncio, concurrent.futures, multiprocesamiento, XML. Algunas funciones se han depreciado y la lista continúa. Puede consultar la documentación oficial para obtener una lista completa de actualizaciones en el nuevo Python 3.9.
Si tiene curiosidad por aprender sobre python, ciencia de datos, consulte el Diploma PG en ciencia de datos de IIIT-B y upGrad, creado para profesionales que trabajan y ofrece más de 10 estudios de casos y proyectos, talleres prácticos, tutoría con expertos de la industria, 1 a 1 con mentores de la industria, más de 400 horas de aprendizaje y asistencia laboral con las mejores empresas.
¿Por qué se prefiere Python a otros lenguajes de codificación?
Existen numerosas razones por las que se prefiere Python a otros lenguajes. En primer lugar, los códigos de Python son legibles y entendidos incluso por desarrolladores que nunca los han escrito antes. Python es común en la comunidad científica, y numerosos investigadores y profesores se encuentran entre los usuarios de Python. Los desarrolladores pueden compartir, copiar y cambiar los códigos creados en Python. Además, Python tiene una comunidad fuerte y está evolucionando rápidamente ya que es un lenguaje de programación libre y abierto. Python es compatible con una amplia gama de sistemas. Ayuda a los desarrolladores, ya que no se enfrentan a las dificultades que prevalecen en otros idiomas.
¿Cuál es el uso de math.nextafter() y math.ulp() en Python?
nextafter() y ulp() son dos funciones nuevas agregadas a la biblioteca matemática en Python 3.9.0. La función nextafter() devuelve el siguiente valor flotante después de x en la dirección de y. Si x es igual a y, se devuelve el valor y. Su sintaxis es math.nextafter(x, y), donde xey son dos números enteros/valores de punto flotante. ULP es una abreviatura que significa Unidad en el Último Lugar. ULP es el espacio entre los valores de coma flotante en el análisis numérico y la informática. La función math.ulp() devuelve el valor del bit menos significativo de float x. Su sintaxis es matemática ulp(x), y el argumento a ingresar, x, debe ser un float, cuyo ulp debe ser devuelto.
¿Qué es el analizador en Python?
Durante el paso de análisis de sintaxis, un compilador examina si los tokens creados por el analizador léxico están organizados de acuerdo con las reglas sintácticas del lenguaje. Un analizador es responsable de esto. El analizador obtiene una cadena de tokens del analizador léxico y valida que la cadena corresponda a la gramática del idioma de origen. Cualquier problema de sintaxis se detecta y se informa, y se produce un árbol de análisis a partir del cual los desarrolladores pueden generar código intermedio. Además, el módulo analizador se comunica con el analizador interno de Python y el compilador de código de bytes. El objetivo principal de esta interfaz es permitir que los códigos de Python alteren los árboles de análisis de una expresión de Python y generen códigos de trabajo a partir de ella.
