Aed kõige huvitavamad uuendused:
- Määrav väljend:
Uus operaator := võimaldab määrata muutujaid väljendite sees. Näiteks:
if (n := len(a)) > 10:
print(f"Loend on liiga pikk ({n} elementi, oodatud <= 10)") - Ainult positsioonilised argumendid:
Nüüd saab määrata, milliseid funktsiooni parameetreid saab edastada nimetatud argumentide süntaksi kaudu ja milliseid mitte. Näide:
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) # viga, `b` ei saa olla nimetatud argument
f(10, 20, 30, 40, 50, f=60) # viga, `e` peab olema nimetatud argumentSee muudatus annab arendajatele viisi, kuidas kaitsta oma API kasutajaid funktsioonide argumentide nimede muutuste eest.
- f-stringide tugi = iseenda dokumenteerimise väljendid ja silumine:
Lisatud on lihtsustavat süntaksit silumise/logimise sõnumite jaoks.
n = 42
print(f’Tere, maailm {n=}.’)
# напечатает "Hello world n=42." - Võti continue parandatud finally plokis (varem see ei töötanud).
Muu:
- Saab selgelt määrata vahemälu байткoodi tee, mitte vaikimisi __pycache__.
- Debug ja Release kogumid kasutavad sama ABI.
Allikas: linux.org.ru
