Python 3.8 laidiens

Interesantākie jauninājumi:

  • Uzdevuma izteiksme:

    Jaunais operators := ļauj piešķirt vērtības mainīgajiem izteiksmēs. Piemēram:
    ja (n := len(a)) > 10:
    print(f"Saraksts ir pārāk garš ({n} elementi, paredzams <= 10)")

  • Tikai pozicionālie argumenti:

    Tagad varat norādīt, kurus funkcijas parametrus var nodot, izmantojot nosaukto argumentu sintaksi, un kurus nevar. Piemērs:
    def f(a, b, /, c, d, *, e, f):
    drukāt (a, b, c, d, e, f)

    f(10, 20, 30, d=40, e=50, f=60) # Labi
    f(10, b=20, c=30, d=40, e=50, f=60) # kļūda, "b" nevar būt nosaukts arguments
    f(10, 20, 30, 40, 50, f=60) # kļūda, "e" ir jābūt nosauktam argumentam

    Šīs izmaiņas sniedz izstrādātājiem veidu, kā aizsargāt savu API lietotājus no izmaiņām funkciju argumentu nosaukumos.

  • Atbalstiet f-string = izteiksmju pašdokumentēšanai un atkļūdošanai:

    Pievienots cukurs, lai vienkāršotu ziņojumu atkļūdošanu/reģistrēšanu.
    n = 42
    print(f'Sveika pasaule, {n=}.')
    # izdrukās "Hello world n=42".

  • Izlabots atslēgvārds turpināt pēdējā blokā (iepriekš tas nedarbojās).

Cits:

  • Varat skaidri norādīt ceļu uz baitkoda kešatmiņu, nevis noklusējuma __pycache__.
  • Atkļūdošanas un izlaišanas būvējumi izmanto to pašu ABI.

Avots: linux.org.ru

Pievieno komentāru