Visinteresantākās jaunākās izmaiņas:
- Piešķiršanas izteiksme:
Jaunais operators := ļauj piešķirt vērtības mainīgajiem izteiksmēs. Piemēram:
if (n := len(a)) > 10:
print(f"Saraksts ir pārāk garš ({n} elementi, prasīts <= 10)") - Tikai pozicionālie argumenti:
Tagad var norādīt, kuri funkciju parametri jānosūta, izmantojot nosaukto argumentu sintaksi, un kuri no tiem nē. Piemērs:
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) # kļūda, `b` nevar būt nosauktais arguments
f(10, 20, 30, 40, 50, f=60) # kļūda, `e` ir jābūt nosauktam argumentamŠī izmaiņa sniedz izstrādātājiem iespēju pasargāt savu API lietotājus no funkciju argumentu nosaukumu izmaiņām.
- Atbalsts f-virknēm = pašdokumentējošām izteiksmēm un atkļūdošanai:
Pievienota sintakse, lai vienkāršotu atkļūdošanas/logēšanas ziņojumus.
n = 42
print(f’Sveika pasaule {n=}.’)
# напечатает "Hello world n=42." - Tika labots atslēgvārds continue finally blokā (iepriekš tas nedarbojās).
Cits:
- Varat skaidri norādīt bytecode keša ceļu, nevis noklusējuma __pycache__.
- Debug un Release versijas izmanto to pašu ABI.
Avots: linux.org.ru
