Izdanje Pythona 3.8

Najzanimljivije inovacije:

  • Izraz dodjele:

    Novi := operator omogućuje vam dodjeljivanje vrijednosti varijablama unutar izraza. Na primjer:
    ako je (n := len(a)) > 10:
    print(f"Popis je predug ({n} elemenata, očekivano <= 10)")

  • Samo pozicijski argumenti:

    Sada možete odrediti koji se parametri funkcije mogu proslijediti kroz sintaksu imenovanog argumenta, a koji ne. Primjer:
    def f(a, b, /, c, d, *, e, f):
    ispis(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) # pogreška, `b` ne može biti imenovani argument
    f(10, 20, 30, 40, 50, f=60) # pogreš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ška f-strings = za samodokumentiranje izraza i otklanjanje pogrešaka:

    Dodan šećer za pojednostavljenje ispravljanja pogrešaka/bilježenja poruka.
    n = 42
    print(f'Zdravo svijete {n=}.')
    # će ispisati "Hello world n=42."

  • Popravljena ključna riječ continue u finally bloku (prije nije radila).

Ostalo:

  • Možete eksplicitno navesti put do predmemorije bajt koda umjesto zadanog __pycache__.
  • Debug i Release međuverzije koriste isti ABI.

Izvor: linux.org.ru

Dodajte komentar