logo cosasdedevs

Llega Python 3.9 y estas son sus nuevas características

Llega Python 3.9 y estas son sus nuevas características

My Profile
Oct 08, 2020

El pasado lunes 5 de octubre se lanzó la nueva versión de Python (3.9) (cada vez más cerca de Python 4 🤞) y no he querido pasar la ocasión para probar de primera mano las nuevas características y contar por aquí algunas de ellas así que vamos al lío 😉.

Nuevas características

Fusión (merge) y actualización de diccionarios

Con el operador | podremos fusionar diccionarios, si una clave está contenida tanto en un diccionario como en el otro el valor que conservará será el del segundo diccionario:

a = {"key1": "5", "key2": "10"}
b = {"key2": "6", "key3": "7"}

print(a | b)

Resultado:

{'key1': '5', 'key2': '6', 'key3': '7'}

Para el caso de actualizar un diccionario, utilizaríamos el operador |= en el que el primer diccionario guardaría los datos del diccionario pasado como segundo parámetro y al igual que en la fusión, si ambos contienen la misma llave se actualizará con el valor del segundo diccionario:

a = {"key1": "5", "key2": "10"}
b = {"key2": "6", "key3": "7", "key4": "10"}

a |= b

print(a)

Resultado:

{'key1': '5', 'key2': '6', 'key3': '7', 'key4': '10'}

Nuevos métodos para eliminar prefijos y sufijos en cadenas de texto (strings)

Se han añadido dos funciones para el tratamiento de strings, en este caso una forma rápida de borrar el prefijo o el sufijo de una cadena de caracteres:

texto = 'Python tiene una nueva versión'
res = texto.removeprefix('Python ')
print(res)
# Resultado:
# tiene una nueva versión

res = texto.removesuffix('versión')
print(res)
# Resultado:
# Python tiene una nueva 

Tipado en funciones

Aunque ya en versiones anteriores de Python podíamos tipar nuestros parámetros a la hora de crear una función, hasta ahora no teníamos la opción de hacerlo con listas y diccionarios. Eso ya se resuelve con la nueva versión de Python 💪:

def greet_all(names: list[str]) -> None:
    for name in names:
        print("Hello", name)

greet_all(['Alber', 'Javier', 'Sara'])

Soporte para zonas horarias con el nuevo módulo zoneinfo

Con el nuevo módulo zoneinfo se podrán implementar las zonas horarias de la base de datos IANA por lo que ya no habrá que utilizar librerías de terceros para estos casos:

from zoneinfo import ZoneInfo
from datetime import datetime, timedelta

dt = datetime(2020, 10, 31, 12, tzinfo=ZoneInfo("Europe/Madrid"))
print(dt)

Y estas son solo algunas de las nuevas características, si queréis verlas todas aquí tenéis el enlace para que le echéis un vistazo 🔍.

El próximo viernes 16 de octubre el blog cumple un añito y para celebrarlo contaré algunas cosas sobre como ha ido creciendo el proyecto durante este año y el camino que tomará a partir de ahora, os recomiendo que estéis atentos a mi Twitter para ver todas las novedades.

Nos leemos 👋

Nos tomamos en serio tu privacidad

Utilizamos cookies propias y de terceros para mejorar la experiencia del usuario a través de su navegación. Si pulsas entendido aceptas su uso. Ver política de cookies.

🐍 Sígueme en Twitter

Si te gusta el contenido que subo y no quieres perderte nada, sígueme en Twitter y te avisaré cada vez que cree contenido nuevo 💪
Luego ¡Te sigo!