Llega Python 3.9 y estas son sus nuevas características
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.
Espero que este post te ayude y como siempre, te recomiendo seguirme en Twitter para estar al tanto de los nuevo contenido. Ahora también puedes seguirme en Instagram donde estoy subiendo tips, tutoriales en vídeo e información sobre herramientas para developers.
Por último os dejo mi guía para aprender a trabajar con APIs donde explico todo el funcionamiento de una API, el protocolo HTTP y veremos como construir una API con arquitectura REST.
Nos leemos 👋.