Lanzamiento de Python 3.8

Novedades más interesantes:

  • Expresión de asignación:

    El nuevo operador := permite asignar valores a variables dentro de expresiones. Por ejemplo:
    if (n := len(a)) > 10:
    print(f"La lista es demasiado larga ({n} elementos, se esperaba <= 10)")

  • Argumentos solo posicionales:

    Ahora se puede especificar qué parámetros de las funciones se pueden pasar mediante la sintaxis de argumentos nombrados y cuáles no. Ejemplo:
    def f(a, b, \/, c, d, *, e, f):
    print(a, b, c, d, e, f)

    f(10, 20, 30, d=40, e=50, f=60) # OK
    f(10, b=20, c=30, d=40, e=50, f=60) # error, `b` no puede ser un argumento nombrado
    f(10, 20, 30, 40, 50, f=60) # error, `e` debe ser un argumento nombrado

    Este cambio ofrece a los desarrolladores una manera de proteger a los usuarios de sus API de cambios en los nombres de los argumentos de las funciones.

  • Soporte para f-strings = para expresiones autodocumentadas y depuración:

    Se ha agregado azúcar para simplificar los mensajes de depuración/logging.
    n = 42
    print(f’Hola mundo {n=}.’)
    # напечатает "Hello world n=42."

  • Se ha corregido la palabra clave continue en el bloque finally (anteriormente no funcionaba).

Otros:

  • Se puede especificar explícitamente la ruta del caché de bytecode en lugar del predeterminado __pycache__.
  • Las compilaciones Debug y Release utilizan el mismo ABI.

Fuente: linux.org.ru

Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS 🔥 Compra un hosting fiable para sitios web con protección contra DDoS, servidores VPS VDS | ProHoster