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