Python 3.6.0: Novedades en la Versión 3.6.0 de Python

Python 3.6.0: Novedades en la Versión 3.6.0 de Python

La versión 3.6 de Python fue lanzada el 20 de marzo de 2017. Esta versión introdujo una serie de nuevas características y mejoras, que incluyen:

  • Literales de cadena formateados (PEP 498): Esta nueva característica permite formatear cadenas de texto de una manera más concisa y flexible.
  • Anotaciones de variables (PEP 526): Esta nueva característica permite asignar un tipo a una variable.
  • Módulo asyncio (PEP 3156): Esta mejora del módulo asyncio lo hace más estable y fácil de usar.
  • Soporte para OpenSSL 1.1.0 (PEP 468): Esta mejora mejora la seguridad del módulo ssl.
  • Soporte para nuevos algoritmos de hash (PEP 468): Esta mejora agrega soporte para los algoritmos de hash BLAKE2, SHA-3 y SHAKE.

Literales de cadena formateados

Los literales de cadena formateados permiten formatear cadenas de texto de una manera más concisa y flexible. En Python 3.6, los literales de cadena formateados se pueden usar con el operador % o con el método format().

Ejemplo con el operador %:

Python
# Sin literales de cadena formateados
print("El nombre del usuario es %s" % "Juan")

# Con literales de cadena formateados
print("El nombre del usuario es {}".format("Juan"))

Ejemplo con el método format():

Python
# Sin literales de cadena formateados
print("El nombre del usuario es {nombre}".format(nombre="Juan"))

# Con literales de cadena formateados
print("El nombre del usuario es {nombre}".format(nombre="Juan"))

Anotaciones de variables

Las anotaciones de variables permiten asignar un tipo a una variable. Esto puede ser útil para mejorar la legibilidad del código y para detectar errores en tiempo de compilación.

Ejemplo:

Python
def suma(a: int, b: int) -> int:
    return a + b

print(suma(1, 2))  # 3

# Error: El valor asignado a la variable `a` no es un número entero
a = "hola"
print(suma(a, 2))

Módulo asyncio

El módulo asyncio permite escribir código asíncrono en Python. En Python 3.6, el módulo asyncio se ha mejorado para hacerlo más estable y fácil de usar.

Ejemplo:

Python
import asyncio

async def tarea1():
    print("Tarea 1")
    await asyncio.sleep(1)
    print("Tarea 1 completada")

async def tarea2():
    print("Tarea 2")
    await asyncio.sleep(2)
    print("Tarea 2 completada")

async def main():
    # Ejecuta las tareas de forma asíncrona
    await asyncio.gather(tarea1(), tarea2())

# Inicia la ejecución asíncrona
asyncio.run(main())

Soporte para OpenSSL 1.1.0

El módulo ssl ahora es compatible con OpenSSL 1.1.0. Esta mejora mejora la seguridad del módulo ssl.

Soporte para nuevos algoritmos de hash

El módulo hashlib ahora es compatible con los algoritmos de hash BLAKE2, SHA-3 y SHAKE.

Conclusión

La versión 3.6 de Python introdujo una serie de nuevas características y mejoras que la hacen más potente y flexible.