Įdomiausios naujovės:
- Priskyrimo išraiška:
Naujasis operatorius := leidžia priskirti reikšmes kintamiesiems išraiškose. Pavyzdžiui:
jei (n := len(a)) > 10:
print(f"Sąrašas per ilgas ({n} elementų, tikimasi <= 10)") - Tik poziciniai argumentai:
Dabar galite nurodyti, kurie funkcijos parametrai gali būti perduodami per įvardytą argumentų sintaksę, o kurie ne. Pavyzdys:
def f(a, b, /, c, d, *, e, f):
spausdinti (a, b, c, d, e, f)f(10, 20, 30, d=40, e=50, f=60) # Gerai
f(10, b=20, c=30, d=40, e=50, f=60) # klaida, „b“ negali būti pavadintas argumentas
f(10, 20, 30, 40, 50, f=60) # klaida, "e" turi būti pavadintas argumentasŠis pakeitimas suteikia kūrėjams būdą apsaugoti savo API vartotojus nuo funkcijų argumentų pavadinimų pakeitimų.
- F-strings palaikymas = savarankiškam posakių dokumentavimui ir derinimui:
Pridėta cukraus, kad būtų supaprastintas derinimas / pranešimų registravimas.
n = 42
print(f'Labas pasaulis, {n=}.')
# atspausdins „Hello world n=42“. - Ištaisytas raktinis žodis tęsti galutiniame bloke (anksčiau jis neveikė).
Kita:
- Galite aiškiai nurodyti kelią į baitinio kodo talpyklą, o ne į numatytąjį __pycache__.
- Derinimo ir išleidimo versijos naudoja tą patį ABI.
Šaltinis: linux.org.ru