Izdanje Python 3.8

Najzanimljivije inovacije:

  • Izraz zadatka:

    Novi operator := vam omogućava da dodijelite vrijednosti varijablama unutar izraza. Na primjer:
    ako (n := len(a)) > 10:
    print(f"Lista je predugačka ({n} elemenata, očekivano <= 10)")

  • Argumenti samo za poziciju:

    Sada možete odrediti koji parametri funkcije mogu biti proslijeđeni kroz sintaksu imenovanih argumenata, a koji ne. primjer:
    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) # greška, `b` ne može biti imenovani argument
    f(10, 20, 30, 40, 50, f=60) # greška, `e` mora biti imenovani argument

    Ova promjena daje programerima način da zaštite korisnike svojih API-ja od promjena u nazivima argumenata funkcija.

  • Podržava f-strings = za samodokumentiranje izraza i otklanjanje grešaka:

    Dodano šećer za pojednostavljenje otklanjanja grešaka/zapisivanja poruka.
    n = 42
    print(f'Zdravo svijete {n=}.')
    # će ispisati "Hello world n=42."

  • Ispravljena je ključna riječ nastavljanja u finally bloku (prije nije funkcionirala).

Ostalo:

  • Možete eksplicitno navesti putanju do keša bajtkoda umjesto zadanog __pycache__.
  • Debug i Release verzije koriste isti ABI.

izvor: linux.org.ru

Dodajte komentar