Versiunea Python 3.8

Cele mai interesante inovații:

  • Expresia sarcinii:

    Noul operator := vă permite să atribuiți valori variabilelor din expresii. De exemplu:
    dacă (n := len(a)) > 10:
    print(f"Lista este prea lungă ({n} elemente, așteptate <= 10)")

  • Argumente numai poziționale:

    Acum puteți specifica ce parametri de funcție pot fi transferați prin sintaxa argumentului numit și care nu. Exemplu:
    def f(a, b, /, c, d, *, e, f):
    imprimare (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) # eroare, `b` nu poate fi un argument numit
    f(10, 20, 30, 40, 50, f=60) # eroare, `e` trebuie să fie un argument numit

    Această modificare oferă dezvoltatorilor o modalitate de a proteja utilizatorii API-urilor lor de modificările numelor argumentelor funcției.

  • Suport f-strings = pentru auto-documentare expresii și depanare:

    Adăugat zahăr pentru a simplifica mesajele de depanare/înregistrare.
    n = 42
    print(f’Bună lume {n=}.’)
    # va imprima „Bună lume n=42”.

  • S-a remediat cuvântul cheie continue în blocul final (nu funcționa înainte).

Altele:

  • Puteți specifica în mod explicit calea către memoria cache de bytecode în loc de __pycache__ implicit.
  • Build-urile Debug și Release folosesc același ABI.

Sursa: linux.org.ru

Adauga un comentariu